egov_utils 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +28 -0
- data/Rakefile +26 -0
- data/app/assets/config/egov_utils_manifest.js +2 -0
- data/app/assets/javascripts/egov_utils/application.js +23 -0
- data/app/assets/javascripts/egov_utils/eGovUtilities.coffee.erb +70 -0
- data/app/assets/javascripts/egov_utils/groups.js +2 -0
- data/app/assets/javascripts/egov_utils/roles.coffee.erb +56 -0
- data/app/assets/javascripts/egov_utils/setup_locale.coffee.erb +2 -0
- data/app/assets/javascripts/egov_utils/users.js +2 -0
- data/app/assets/stylesheets/egov_utils/application.scss +15 -0
- data/app/assets/stylesheets/egov_utils/groups.css +4 -0
- data/app/assets/stylesheets/egov_utils/roles.css +4 -0
- data/app/assets/stylesheets/egov_utils/users.css +4 -0
- data/app/attributes/egov_utils/district.rb +13 -0
- data/app/attributes/egov_utils/full_address.rb +17 -0
- data/app/attributes/egov_utils/region.rb +13 -0
- data/app/controllers/egov_utils/addresses_controller.rb +34 -0
- data/app/controllers/egov_utils/application_controller.rb +7 -0
- data/app/controllers/egov_utils/groups_controller.rb +27 -0
- data/app/controllers/egov_utils/roles_controller.rb +28 -0
- data/app/controllers/egov_utils/sessions_controller.rb +83 -0
- data/app/controllers/egov_utils/users_controller.rb +64 -0
- data/app/helpers/egov_utils/application_helper.rb +4 -0
- data/app/helpers/egov_utils/grid_helper.rb +40 -0
- data/app/helpers/egov_utils/groups_helper.rb +4 -0
- data/app/helpers/egov_utils/roles_helper.rb +4 -0
- data/app/helpers/egov_utils/users_helper.rb +4 -0
- data/app/jobs/egov_utils/application_job.rb +4 -0
- data/app/mailers/egov_utils/application_mailer.rb +6 -0
- data/app/models/ability.rb +17 -0
- data/app/models/egov_utils/address.rb +79 -0
- data/app/models/egov_utils/application_record.rb +5 -0
- data/app/models/egov_utils/audit_detail.rb_bac +28 -0
- data/app/models/egov_utils/audit_record.rb_bac +98 -0
- data/app/models/egov_utils/group.rb +26 -0
- data/app/models/egov_utils/person.rb +9 -0
- data/app/models/egov_utils/principal.rb +20 -0
- data/app/models/egov_utils/user.rb +108 -0
- data/app/schemas/egov_utils/address_schema.rb +30 -0
- data/app/validators/email_validator.rb +8 -0
- data/app/validators/ico_validator.rb +7 -0
- data/app/views/common/_grid.html.coffee +130 -0
- data/app/views/common/_modal.html.haml +11 -0
- data/app/views/egov_utils/addresses/_form.html.haml +51 -0
- data/app/views/egov_utils/people/_form.html.haml +3 -0
- data/app/views/egov_utils/roles/index.html.haml +29 -0
- data/app/views/egov_utils/sessions/new.html.haml +5 -0
- data/app/views/egov_utils/users/_form.html.haml +6 -0
- data/app/views/egov_utils/users/index.html.haml +62 -0
- data/app/views/egov_utils/users/new.html.haml +3 -0
- data/app/views/egov_utils/users/show.html.haml +1 -0
- data/app/views/errors/error_403.html.haml +1 -0
- data/app/views/layouts/egov_utils/_messages.html.haml +7 -0
- data/app/views/layouts/egov_utils/application.html.erb +14 -0
- data/config/kraj.csv +16 -0
- data/config/locales/cs.yml +80 -0
- data/config/okres.csv +79 -0
- data/config/routes.rb +21 -0
- data/db/migrate/20170313100505_create_egov_utils_addresses.rb +18 -0
- data/db/migrate/20170315134217_create_egov_utils_users.rb +16 -0
- data/db/migrate/20170513115712_create_egov_utils_audit_records.rb_bac +11 -0
- data/db/migrate/20170513120006_create_egov_utils_audit_details.rb_bac +13 -0
- data/db/migrate/20170630150633_add_provider_to_user.rb +5 -0
- data/db/migrate/20170801154511_install_audited.rb +30 -0
- data/db/migrate/20170809150646_create_egov_utils_people.rb +12 -0
- data/db/migrate/20170824111701_create_egov_utils_groups.rb +12 -0
- data/lib/bootstrap_form/datetimepicker.rb +17 -0
- data/lib/bootstrap_form/helpers/bootstrap4.rb +12 -0
- data/lib/egov_utils/auth_source.rb +326 -0
- data/lib/egov_utils/engine.rb +84 -0
- data/lib/egov_utils/has_audit_trail.rb +68 -0
- data/lib/egov_utils/user_utils/application_controller_patch.rb +92 -0
- data/lib/egov_utils/user_utils/role.rb +26 -0
- data/lib/egov_utils/version.rb +3 -0
- data/lib/egov_utils.rb +5 -0
- data/lib/grid/shield_grid.rb +9 -0
- data/lib/tasks/egov_utils_tasks.rake +4 -0
- metadata +306 -0
@@ -0,0 +1,62 @@
|
|
1
|
+
= bootstrap_form_for(:search, url: search_users_path(format: :json), html: {id: 'user_search_form'}) do |f|
|
2
|
+
= f.text_field(:q, id: 'search_q')
|
3
|
+
= f.submit
|
4
|
+
|
5
|
+
%table.table#users_results
|
6
|
+
%thead
|
7
|
+
%tr
|
8
|
+
%th= EgovUtils::User.human_attribute_name('login')
|
9
|
+
%th= EgovUtils::User.human_attribute_name('fullname')
|
10
|
+
%th= t(:label_actions)
|
11
|
+
%tbody
|
12
|
+
%table.table#groups_results
|
13
|
+
%thead
|
14
|
+
%tr
|
15
|
+
%th= EgovUtils::Group.human_attribute_name('name')
|
16
|
+
%th= t(:label_actions)
|
17
|
+
%tbody
|
18
|
+
|
19
|
+
%h5= EgovUtils::User.model_name.human(count: :other)
|
20
|
+
%table.table#users
|
21
|
+
%thead
|
22
|
+
%tr
|
23
|
+
%th= t('model_attributes.user.fullname')
|
24
|
+
%th Akce
|
25
|
+
%tbody
|
26
|
+
- EgovUtils::User.all.each do |user|
|
27
|
+
%tr
|
28
|
+
%td= user.fullname
|
29
|
+
%td
|
30
|
+
- unless user.active?
|
31
|
+
= button_to(t('label_approve'), approve_user_path(user), class: 'btn btn-primary btn-sm')
|
32
|
+
|
33
|
+
:javascript
|
34
|
+
$('#user_search_form').on('submit', function(evt) {
|
35
|
+
evt.preventDefault();
|
36
|
+
$form = $(this);
|
37
|
+
$.ajax(this.action, {method: 'GET', data: {q: $('#search_q').val()}}).done(function(data, status, xhr){
|
38
|
+
$.each(['users', 'groups'], function(i, type) {
|
39
|
+
var tbl = $('#'+type+'_results tbody');
|
40
|
+
tbl.html('');
|
41
|
+
$.each(data[type], function(i, entity_data) {
|
42
|
+
var str, data_key, path, req_data;
|
43
|
+
if( type == 'users' ) {
|
44
|
+
str = '<td title="'+entity_data.dn.replace(/"/g, """)+'">'+entity_data.login+'</td><td>'+entity_data.firstname + ' ' + entity_data.lastname +'</td>';
|
45
|
+
req_data = {user: entity_data};
|
46
|
+
path = '#{users_path(format: :json)}';
|
47
|
+
} else {
|
48
|
+
str = '<td title="'+entity_data.dn.replace(/"/g, """)+'">'+entity_data.name+'</td>';
|
49
|
+
req_data = {group: entity_data};
|
50
|
+
path = '#{groups_path(format: :json)}';
|
51
|
+
}
|
52
|
+
|
53
|
+
$('<tr>' + str + '<td><button class="btn btn-primary add-button">Add</button></td></tr>').
|
54
|
+
appendTo(tbl).on('click', '.add-button', function(evt){
|
55
|
+
evt.preventDefault();
|
56
|
+
$.ajax(path, {method: 'POST', data: req_data});
|
57
|
+
});
|
58
|
+
});
|
59
|
+
});
|
60
|
+
$form.find('input[type="submit"]').prop('disabled', false);
|
61
|
+
});
|
62
|
+
});
|
@@ -0,0 +1 @@
|
|
1
|
+
= current_user.fullname
|
@@ -0,0 +1 @@
|
|
1
|
+
Forbidden
|
@@ -0,0 +1,7 @@
|
|
1
|
+
-# Rails flash messages styled for Zurb Foundation
|
2
|
+
- flash.each do |name, msg|
|
3
|
+
- if msg.is_a?(String)
|
4
|
+
%div{:class => "alert alert-#{name.to_s == 'notice' ? "info" : "alert"} alert-dismissible fade show", "role" => "alert"}
|
5
|
+
%button.close{'type' => 'button', 'data-dissmis' => 'alert'}
|
6
|
+
%span{'aria-hidden' => 'true'}= raw '×'
|
7
|
+
= msg
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Egov utils</title>
|
5
|
+
<%= stylesheet_link_tag "egov_utils/application", media: "all" %>
|
6
|
+
<%= javascript_include_tag "egov_utils/application" %>
|
7
|
+
<%= csrf_meta_tags %>
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
|
11
|
+
<%= yield %>
|
12
|
+
|
13
|
+
</body>
|
14
|
+
</html>
|
data/config/kraj.csv
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
KOD;NAZEV;REGSOUDR_KOD;NUTS_LAU;PLATI_OD;PLATI_DO;DATUM_VZNIKU
|
2
|
+
19;Hlavní město Praha;19;CZ010;23.11.2016 00:00:00;;01.01.2000 00:00:00
|
3
|
+
116;Jihomoravský kraj;60;CZ064;24.05.2017 00:00:00;;01.01.2000 00:00:00
|
4
|
+
35;Jihočeský kraj;35;CZ031;29.05.2017 00:00:00;;01.01.2000 00:00:00
|
5
|
+
51;Karlovarský kraj;43;CZ041;29.03.2017 00:00:00;;01.01.2000 00:00:00
|
6
|
+
108;Kraj Vysočina;60;CZ063;03.02.2017 00:00:00;;01.01.2000 00:00:00
|
7
|
+
86;Královéhradecký kraj;51;CZ052;07.04.2017 00:00:00;;01.01.2000 00:00:00
|
8
|
+
78;Liberecký kraj;51;CZ051;03.06.2016 00:00:00;;01.01.2000 00:00:00
|
9
|
+
132;Moravskoslezský kraj;86;CZ080;13.12.2016 00:00:00;;01.01.2000 00:00:00
|
10
|
+
124;Olomoucký kraj;78;CZ071;24.05.2017 00:00:00;;01.01.2000 00:00:00
|
11
|
+
94;Pardubický kraj;51;CZ053;30.03.2017 00:00:00;;01.01.2000 00:00:00
|
12
|
+
43;Plzeňský kraj;35;CZ032;05.12.2016 00:00:00;;01.01.2000 00:00:00
|
13
|
+
27;Středočeský kraj;27;CZ020;03.02.2017 00:00:00;;01.01.2000 00:00:00
|
14
|
+
141;Zlínský kraj;78;CZ072;07.03.2017 00:00:00;;01.01.2000 00:00:00
|
15
|
+
60;Ústecký kraj;43;CZ042;16.12.2016 00:00:00;;01.01.2000 00:00:00
|
16
|
+
|
@@ -0,0 +1,80 @@
|
|
1
|
+
---
|
2
|
+
cs:
|
3
|
+
ministery_justice_name: Ministerstvo spravedlnosti ČR
|
4
|
+
label_no_records: Žádné záznamy k zobrazení
|
5
|
+
|
6
|
+
notice_account_invalid_credentials: Přihlašovací údaje jsou nesprávné
|
7
|
+
notice_onthefly_failure: Nemáte oprávnění k přístupu do aplikace
|
8
|
+
notice_account_pending: Váš přístup čeká na schválení správce aplikace
|
9
|
+
notice_account_locked: Váš účet byl uzamčen správcem aplikace
|
10
|
+
notice_logout: Byl/a jste úspěšně odhlášen/a
|
11
|
+
|
12
|
+
label_approve: Schválit
|
13
|
+
|
14
|
+
common_labels:
|
15
|
+
new_record: "Nový %{model}"
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
models: &my_models
|
20
|
+
egov_utils::user:
|
21
|
+
one: Uživatel
|
22
|
+
others: Uživatelé
|
23
|
+
egov_utils::group:
|
24
|
+
one: Skupina
|
25
|
+
others: Skupiny
|
26
|
+
egov_utils::address:
|
27
|
+
one: Adresa
|
28
|
+
other: Adresy
|
29
|
+
|
30
|
+
model_attributes: &my_attributes
|
31
|
+
egov_utils/address:
|
32
|
+
street: Ulice
|
33
|
+
number: "Č.p./Č.o."
|
34
|
+
house_number: Č. popisné
|
35
|
+
orientation_number: Č. orientační
|
36
|
+
city: Obec
|
37
|
+
postcode: PSČ
|
38
|
+
district: Okres
|
39
|
+
region: Kraj
|
40
|
+
country: Země
|
41
|
+
|
42
|
+
|
43
|
+
models_errors: &my_model_errors
|
44
|
+
profile:
|
45
|
+
too_many_authors: Příliš mnoho autorů
|
46
|
+
|
47
|
+
labels: &my_labels
|
48
|
+
user:
|
49
|
+
password: Heslo
|
50
|
+
session:
|
51
|
+
username: Přihlášení
|
52
|
+
password: Heslo
|
53
|
+
|
54
|
+
activerecord:
|
55
|
+
models:
|
56
|
+
<<: *my_models
|
57
|
+
attributes:
|
58
|
+
<<: *my_attributes
|
59
|
+
errors:
|
60
|
+
models:
|
61
|
+
<<: *my_model_errors
|
62
|
+
messages:
|
63
|
+
record_invalid: 'Validace je neúspešná: %{errors}'
|
64
|
+
restrict_dependent_destroy:
|
65
|
+
has_one: Nemůžu smazat položku protože existuje závislá/ý/é %{record}
|
66
|
+
has_many: Nemůžu smazat položku protože existuje závislé/ý %{record}
|
67
|
+
successful:
|
68
|
+
messages:
|
69
|
+
created: "%{model} úspěšně vytvořen"
|
70
|
+
updated: "%{model} úspěšně aktualizován"
|
71
|
+
|
72
|
+
helpers:
|
73
|
+
label:
|
74
|
+
<<: *my_labels
|
75
|
+
|
76
|
+
|
77
|
+
errors:
|
78
|
+
messages:
|
79
|
+
ico_format: Není správný formát IČO
|
80
|
+
email_format: není e-mail
|
data/config/okres.csv
ADDED
@@ -0,0 +1,79 @@
|
|
1
|
+
KOD;NAZEV;VUSC_KOD;KRAJ_1960_KOD;NUTS_LAU;PLATI_OD;PLATI_DO;DATUM_VZNIKU
|
2
|
+
3201;Benešov;27;32;CZ0201;08.03.2017 00:00:00;;11.04.1960 00:00:00
|
3
|
+
3202;Beroun;27;32;CZ0202;22.03.2017 00:00:00;;11.04.1960 00:00:00
|
4
|
+
3701;Blansko;116;37;CZ0641;24.05.2017 00:00:00;;11.04.1960 00:00:00
|
5
|
+
3702;Brno-město;116;37;CZ0642;17.03.2017 00:00:00;;11.04.1960 00:00:00
|
6
|
+
3703;Brno-venkov;116;37;CZ0643;17.03.2017 00:00:00;;11.04.1960 00:00:00
|
7
|
+
3801;Bruntál;132;38;CZ0801;13.12.2016 00:00:00;;11.04.1960 00:00:00
|
8
|
+
3704;Břeclav;116;37;CZ0644;06.06.2015 00:00:00;;11.04.1960 00:00:00
|
9
|
+
3402;Cheb;51;34;CZ0411;25.10.2016 00:00:00;;11.04.1960 00:00:00
|
10
|
+
3503;Chomutov;60;35;CZ0422;11.05.2017 00:00:00;;11.04.1960 00:00:00
|
11
|
+
3603;Chrudim;94;36;CZ0531;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
12
|
+
3401;Domažlice;43;34;CZ0321;31.05.2017 00:00:00;;11.04.1960 00:00:00
|
13
|
+
3502;Děčín;60;35;CZ0421;27.12.2016 00:00:00;;11.04.1960 00:00:00
|
14
|
+
3802;Frýdek-Místek;132;38;CZ0802;27.04.2017 00:00:00;;11.04.1960 00:00:00
|
15
|
+
3601;Havlíčkův Brod;108;36;CZ0631;08.02.2017 00:00:00;;11.04.1960 00:00:00
|
16
|
+
3100;Hlavní město Praha;19;31;CZ0100;23.11.2016 00:00:00;;11.04.1960 00:00:00
|
17
|
+
3706;Hodonín;116;37;CZ0645;25.04.2017 00:00:00;;11.04.1960 00:00:00
|
18
|
+
3602;Hradec Králové;86;36;CZ0521;06.04.2017 00:00:00;;11.04.1960 00:00:00
|
19
|
+
3504;Jablonec nad Nisou;78;35;CZ0512;21.06.2016 00:00:00;;11.04.1960 00:00:00
|
20
|
+
3811;Jeseník;124;38;CZ0711;31.05.2016 00:00:00;;01.01.1996 00:00:00
|
21
|
+
3707;Jihlava;108;37;CZ0632;29.05.2017 00:00:00;;11.04.1960 00:00:00
|
22
|
+
3303;Jindřichův Hradec;35;33;CZ0313;06.01.2017 00:00:00;;11.04.1960 00:00:00
|
23
|
+
3604;Jičín;86;36;CZ0522;22.12.2016 00:00:00;;11.04.1960 00:00:00
|
24
|
+
3403;Karlovy Vary;51;34;CZ0412;21.10.2016 00:00:00;;11.04.1960 00:00:00
|
25
|
+
3803;Karviná;132;38;CZ0803;31.03.2016 00:00:00;;11.04.1960 00:00:00
|
26
|
+
3203;Kladno;27;32;CZ0203;21.03.2017 00:00:00;;11.04.1960 00:00:00
|
27
|
+
3404;Klatovy;43;34;CZ0322;31.05.2017 00:00:00;;11.04.1960 00:00:00
|
28
|
+
3204;Kolín;27;32;CZ0204;30.05.2017 00:00:00;;11.04.1960 00:00:00
|
29
|
+
3708;Kroměříž;141;37;CZ0721;15.05.2017 00:00:00;;11.04.1960 00:00:00
|
30
|
+
3205;Kutná Hora;27;32;CZ0205;30.05.2017 00:00:00;;11.04.1960 00:00:00
|
31
|
+
3505;Liberec;78;35;CZ0513;21.06.2016 00:00:00;;11.04.1960 00:00:00
|
32
|
+
3506;Litoměřice;60;35;CZ0423;21.03.2017 00:00:00;;11.04.1960 00:00:00
|
33
|
+
3507;Louny;60;35;CZ0424;11.05.2017 00:00:00;;11.04.1960 00:00:00
|
34
|
+
3207;Mladá Boleslav;27;32;CZ0207;10.04.2017 00:00:00;;11.04.1960 00:00:00
|
35
|
+
3508;Most;60;35;CZ0425;06.12.2016 00:00:00;;11.04.1960 00:00:00
|
36
|
+
3206;Mělník;27;32;CZ0206;16.12.2016 00:00:00;;11.04.1960 00:00:00
|
37
|
+
3804;Nový Jičín;132;38;CZ0804;13.04.2017 00:00:00;;11.04.1960 00:00:00
|
38
|
+
3208;Nymburk;27;32;CZ0208;22.12.2016 00:00:00;;11.04.1960 00:00:00
|
39
|
+
3605;Náchod;86;36;CZ0523;27.03.2017 00:00:00;;11.04.1960 00:00:00
|
40
|
+
3805;Olomouc;124;38;CZ0712;15.05.2017 00:00:00;;11.04.1960 00:00:00
|
41
|
+
3806;Opava;132;38;CZ0805;01.11.2016 00:00:00;;11.04.1960 00:00:00
|
42
|
+
3807;Ostrava-město;132;38;CZ0806;27.04.2017 00:00:00;;11.04.1960 00:00:00
|
43
|
+
3606;Pardubice;94;36;CZ0532;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
44
|
+
3304;Pelhřimov;108;33;CZ0633;27.03.2017 00:00:00;;11.04.1960 00:00:00
|
45
|
+
3406;Plzeň-jih;43;34;CZ0324;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
46
|
+
3405;Plzeň-město;43;34;CZ0323;28.03.2017 00:00:00;;11.04.1960 00:00:00
|
47
|
+
3407;Plzeň-sever;43;34;CZ0325;23.11.2016 00:00:00;;11.04.1960 00:00:00
|
48
|
+
3306;Prachatice;35;33;CZ0315;29.05.2017 00:00:00;;11.04.1960 00:00:00
|
49
|
+
3209;Praha-východ;27;32;CZ0209;22.11.2016 00:00:00;;11.04.1960 00:00:00
|
50
|
+
3210;Praha-západ;27;32;CZ020A;22.03.2017 00:00:00;;11.04.1960 00:00:00
|
51
|
+
3709;Prostějov;124;37;CZ0713;24.05.2017 00:00:00;;11.04.1960 00:00:00
|
52
|
+
3305;Písek;35;33;CZ0314;11.12.2016 00:00:00;;11.04.1960 00:00:00
|
53
|
+
3808;Přerov;124;38;CZ0714;16.12.2016 00:00:00;;11.04.1960 00:00:00
|
54
|
+
3211;Příbram;27;32;CZ020B;09.06.2016 00:00:00;;11.04.1960 00:00:00
|
55
|
+
3212;Rakovník;27;32;CZ020C;13.07.2016 00:00:00;;11.04.1960 00:00:00
|
56
|
+
3408;Rokycany;43;34;CZ0326;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
57
|
+
3607;Rychnov nad Kněžnou;86;36;CZ0524;06.04.2017 00:00:00;;11.04.1960 00:00:00
|
58
|
+
3608;Semily;78;36;CZ0514;04.06.2016 00:00:00;;11.04.1960 00:00:00
|
59
|
+
3409;Sokolov;51;34;CZ0413;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
60
|
+
3307;Strakonice;35;33;CZ0316;02.05.2017 00:00:00;;11.04.1960 00:00:00
|
61
|
+
3609;Svitavy;94;36;CZ0533;30.03.2017 00:00:00;;11.04.1960 00:00:00
|
62
|
+
3410;Tachov;43;34;CZ0327;12.04.2017 00:00:00;;11.04.1960 00:00:00
|
63
|
+
3509;Teplice;60;35;CZ0426;20.09.2016 00:00:00;;11.04.1960 00:00:00
|
64
|
+
3610;Trutnov;86;36;CZ0525;29.11.2016 00:00:00;;11.04.1960 00:00:00
|
65
|
+
3308;Tábor;35;33;CZ0317;08.03.2017 00:00:00;;11.04.1960 00:00:00
|
66
|
+
3710;Třebíč;108;37;CZ0634;29.05.2017 00:00:00;;11.04.1960 00:00:00
|
67
|
+
3711;Uherské Hradiště;141;37;CZ0722;25.04.2017 00:00:00;;11.04.1960 00:00:00
|
68
|
+
3810;Vsetín;141;38;CZ0723;21.09.2016 00:00:00;;11.04.1960 00:00:00
|
69
|
+
3712;Vyškov;116;37;CZ0646;28.03.2017 00:00:00;;11.04.1960 00:00:00
|
70
|
+
3705;Zlín;141;37;CZ0724;15.05.2017 00:00:00;;11.04.1960 00:00:00
|
71
|
+
3713;Znojmo;116;37;CZ0647;01.12.2016 00:00:00;;11.04.1960 00:00:00
|
72
|
+
3809;Šumperk;124;38;CZ0715;23.02.2017 00:00:00;;11.04.1960 00:00:00
|
73
|
+
3714;Žďár nad Sázavou;108;37;CZ0635;08.02.2017 00:00:00;;11.04.1960 00:00:00
|
74
|
+
3501;Česká Lípa;78;35;CZ0511;10.04.2017 00:00:00;;11.04.1960 00:00:00
|
75
|
+
3301;České Budějovice;35;33;CZ0311;16.02.2017 00:00:00;;11.04.1960 00:00:00
|
76
|
+
3302;Český Krumlov;35;33;CZ0312;16.02.2017 00:00:00;;11.04.1960 00:00:00
|
77
|
+
3510;Ústí nad Labem;60;35;CZ0427;20.09.2016 00:00:00;;11.04.1960 00:00:00
|
78
|
+
3611;Ústí nad Orlicí;94;36;CZ0534;29.03.2017 00:00:00;;11.04.1960 00:00:00
|
79
|
+
|
data/config/routes.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
EgovUtils::Engine.routes.draw do
|
2
|
+
|
3
|
+
get '/login', to: 'sessions#new', as: 'signin'
|
4
|
+
post '/login', to: 'sessions#create'
|
5
|
+
delete '/logout', to: 'sessions#destroy', as: 'signout'
|
6
|
+
|
7
|
+
resources :sessions
|
8
|
+
resources :users do
|
9
|
+
get :search, on: :collection
|
10
|
+
post :approve, on: :member
|
11
|
+
end
|
12
|
+
|
13
|
+
resources :groups
|
14
|
+
resources :roles
|
15
|
+
|
16
|
+
# post '/auth/:provider/callback', to: 'sessions#create'
|
17
|
+
|
18
|
+
get '/address/validate_ruian' => 'addresses#validate_ruian', as: :validate_ruian
|
19
|
+
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateEgovUtilsAddresses < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :egov_utils_addresses do |t|
|
4
|
+
t.integer :egov_identifier
|
5
|
+
t.string :street
|
6
|
+
t.string :house_number
|
7
|
+
t.string :orientation_number
|
8
|
+
t.string :city
|
9
|
+
t.string :city_part
|
10
|
+
t.string :postcode
|
11
|
+
t.string :district
|
12
|
+
t.string :region
|
13
|
+
t.string :country
|
14
|
+
|
15
|
+
t.timestamps
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateEgovUtilsUsers < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :egov_utils_users do |t|
|
4
|
+
t.string :login
|
5
|
+
t.string :mail
|
6
|
+
t.string :password_digest
|
7
|
+
t.string :firstname
|
8
|
+
t.string :lastname
|
9
|
+
t.boolean :active, default: false
|
10
|
+
t.string :roles
|
11
|
+
t.datetime :last_login_at
|
12
|
+
|
13
|
+
t.timestamps
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class CreateEgovUtilsAuditRecords < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :egov_utils_audit_records do |t|
|
4
|
+
t.references :audited, foreign_key: true
|
5
|
+
t.references :user, foreign_key: true
|
6
|
+
t.text :notes
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class CreateEgovUtilsAuditDetails < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :egov_utils_audit_details do |t|
|
4
|
+
t.references :audit_record, foreign_key: true
|
5
|
+
t.string :property
|
6
|
+
t.string :prop_key
|
7
|
+
t.text :old_value
|
8
|
+
t.text :value
|
9
|
+
|
10
|
+
t.timestamps
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class InstallAudited < ActiveRecord::Migration[5.1]
|
2
|
+
def self.up
|
3
|
+
create_table :audits, :force => true do |t|
|
4
|
+
t.column :auditable_id, :integer
|
5
|
+
t.column :auditable_type, :string
|
6
|
+
t.column :associated_id, :integer
|
7
|
+
t.column :associated_type, :string
|
8
|
+
t.column :user_id, :integer
|
9
|
+
t.column :user_type, :string
|
10
|
+
t.column :username, :string
|
11
|
+
t.column :action, :string
|
12
|
+
t.column :audited_changes, :text
|
13
|
+
t.column :version, :integer, :default => 0
|
14
|
+
t.column :comment, :string
|
15
|
+
t.column :remote_address, :string
|
16
|
+
t.column :request_uuid, :string
|
17
|
+
t.column :created_at, :datetime
|
18
|
+
end
|
19
|
+
|
20
|
+
add_index :audits, [:auditable_id, :auditable_type], :name => 'auditable_index'
|
21
|
+
add_index :audits, [:associated_id, :associated_type], :name => 'associated_index'
|
22
|
+
add_index :audits, [:user_id, :user_type], :name => 'user_index'
|
23
|
+
add_index :audits, :request_uuid
|
24
|
+
add_index :audits, :created_at
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.down
|
28
|
+
drop_table :audits
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module BootstrapForm
|
2
|
+
module Datetimepicker
|
3
|
+
def date_field(name, *args)
|
4
|
+
options = args.extract_options!.symbolize_keys!
|
5
|
+
options[:data] = {provide: 'datepicker', 'date-format' => 'L'}.merge(options[:data] || {})
|
6
|
+
args << options
|
7
|
+
super
|
8
|
+
end
|
9
|
+
|
10
|
+
def datetime_field(name, *args)
|
11
|
+
options = args.extract_options!.symbolize_keys!
|
12
|
+
options[:data] = {provide: 'datepicker'}.merge(options[:data] || {})
|
13
|
+
args << options
|
14
|
+
super
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|