decidim-admin 0.0.7 → 0.0.8.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-admin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/app/assets/javascripts/decidim/admin/application.js.es6 +13 -0
- data/app/assets/javascripts/decidim/admin/toggle_nav.js.es6 +17 -0
- data/app/assets/stylesheets/decidim/admin/_decidim.scss +0 -1
- data/app/assets/stylesheets/decidim/admin/modules/_datepicker.scss +224 -0
- data/app/assets/stylesheets/decidim/admin/modules/_modules.scss +1 -0
- data/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
- data/app/forms/decidim/admin/participatory_process_user_role_form.rb +9 -0
- data/app/helpers/decidim/admin/application_helper.rb +6 -0
- data/app/views/decidim/admin/categories/index.html.erb +1 -1
- data/app/views/decidim/admin/participatory_process_groups/index.html.erb +1 -1
- data/app/views/decidim/admin/participatory_process_user_roles/_form.html.erb +2 -3
- data/app/views/decidim/admin/participatory_process_user_roles/index.html.erb +1 -1
- data/app/views/decidim/admin/static_pages/index.html.erb +2 -2
- data/app/views/layouts/decidim/admin/_application.html.erb +2 -1
- data/app/views/layouts/decidim/admin/pages.html.erb +1 -1
- data/config/i18n-tasks.yml +2 -0
- data/config/locales/ca.yml +22 -17
- data/config/locales/en.yml +22 -17
- data/config/locales/es.yml +23 -18
- data/config/locales/eu.yml +0 -19
- data/config/locales/fi.yml +0 -14
- data/config/locales/fr.yml +141 -0
- data/config/locales/nl.yml +5 -0
- data/vendor/assets/javascripts/moment.min.js +7 -0
- metadata +12 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d431157faf89c91b9188a11cf7b300a290e20ff
|
4
|
+
data.tar.gz: 015526c7b495d558c20f4cdbe72bcfff2585b97e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 795021e0de6ca13a939b1ed310563299a72cb89aa771defd41b6d37e5dc8b94283a3dcb6ee751e790648c6e57e120df51aae0956cb1224a267fd830368a7414b
|
7
|
+
data.tar.gz: 11c8d98d61b644db36622cb799b0a141257e71c6eedd31305bbd958059520b936b8d4ab5a4d35086383930676d05e0a920d3194ab00f231ee7b5c4de1b94ab58
|
data/README.md
CHANGED
@@ -47,7 +47,7 @@ are links to them inside the Decidim framework, see `Decidim::StaticPage` for
|
|
47
47
|
the default list.
|
48
48
|
|
49
49
|
## Contributing
|
50
|
-
See [Decidim](https://github.com/
|
50
|
+
See [Decidim](https://github.com/decidim/decidim).
|
51
51
|
|
52
52
|
## License
|
53
|
-
See [Decidim](https://github.com/
|
53
|
+
See [Decidim](https://github.com/decidim/decidim).
|
@@ -6,14 +6,27 @@
|
|
6
6
|
// = require html.sortable
|
7
7
|
// = require ./sort_steps
|
8
8
|
// = require ./tab_focus
|
9
|
+
// = require ./toggle_nav
|
9
10
|
// = require decidim/editor
|
11
|
+
// = require foundation-datepicker
|
12
|
+
// = require form_datepicker
|
13
|
+
// = require moment.min
|
10
14
|
// = require_self
|
11
15
|
|
16
|
+
window.Decidim = window.Decidim || {};
|
17
|
+
|
12
18
|
const pageLoad = () => {
|
13
19
|
$(document).foundation();
|
14
20
|
sortSteps();
|
21
|
+
|
22
|
+
if (DecidimAdmin) {
|
23
|
+
DecidimAdmin.toggleNav();
|
24
|
+
}
|
15
25
|
};
|
16
26
|
|
17
27
|
$(() => {
|
18
28
|
pageLoad();
|
29
|
+
if (window.Decidim.formDatePicker) {
|
30
|
+
window.Decidim.formDatePicker();
|
31
|
+
}
|
19
32
|
});
|
@@ -0,0 +1,17 @@
|
|
1
|
+
((exports) => {
|
2
|
+
const showHideNav = (evt) => {
|
3
|
+
const navMenu = document.querySelector(".layout-nav");
|
4
|
+
|
5
|
+
evt.preventDefault();
|
6
|
+
navMenu.classList.toggle("is-nav-open");
|
7
|
+
}
|
8
|
+
|
9
|
+
const toggleNav = () => {
|
10
|
+
const navTrigger = document.querySelector(".menu-trigger");
|
11
|
+
|
12
|
+
navTrigger.addEventListener("click", showHideNav);
|
13
|
+
}
|
14
|
+
|
15
|
+
exports.DecidimAdmin = exports.DecidimAdmin || {};
|
16
|
+
exports.DecidimAdmin.toggleNav = toggleNav;
|
17
|
+
})(window);
|
@@ -0,0 +1,224 @@
|
|
1
|
+
$calendar-bg-color: $white;
|
2
|
+
$calendar-border: 1px solid rgba(0, 0, 0, 0.1);
|
3
|
+
$calendar-border-color: rgba(0, 0, 0, 0.1);
|
4
|
+
$calendar-active-color: $primary-color;
|
5
|
+
$calendar-bg-hover: $light-gray;
|
6
|
+
$calendar-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
|
7
|
+
$calendar-color-old: $medium-gray;
|
8
|
+
$calendar-color-disabled: $light-gray;
|
9
|
+
$calendar-radius: $global-radius;
|
10
|
+
$calendar-font-size: $global-font-size * .9;
|
11
|
+
|
12
|
+
.datepicker {
|
13
|
+
display: none;
|
14
|
+
position: absolute;
|
15
|
+
padding: 4px;
|
16
|
+
margin-top: 1px;
|
17
|
+
direction: ltr;
|
18
|
+
}
|
19
|
+
|
20
|
+
.datepicker.dropdown-menu {
|
21
|
+
position: absolute;
|
22
|
+
top: 100%;
|
23
|
+
left: 0;
|
24
|
+
z-index: 1000;
|
25
|
+
float: left;
|
26
|
+
display: none;
|
27
|
+
min-width: 160px;
|
28
|
+
list-style: none;
|
29
|
+
background-color: $calendar-bg-color;
|
30
|
+
border: $calendar-border;
|
31
|
+
border-radius: $calendar-radius;
|
32
|
+
box-shadow: $calendar-shadow;
|
33
|
+
background-clip: padding-box;
|
34
|
+
font-size: $calendar-font-size;
|
35
|
+
line-height: 18px;
|
36
|
+
}
|
37
|
+
|
38
|
+
.datepicker.dropdown-menu th {
|
39
|
+
padding: 4px 5px;
|
40
|
+
}
|
41
|
+
|
42
|
+
.datepicker.dropdown-menu td {
|
43
|
+
padding: 6px 9px;
|
44
|
+
}
|
45
|
+
|
46
|
+
.datepicker table {
|
47
|
+
border: 0;
|
48
|
+
margin: 0;
|
49
|
+
width: auto;
|
50
|
+
}
|
51
|
+
|
52
|
+
.datepicker table tr td span {
|
53
|
+
display: block;
|
54
|
+
width: 23%;
|
55
|
+
height: 54px;
|
56
|
+
line-height: 54px;
|
57
|
+
float: left;
|
58
|
+
margin: 1%;
|
59
|
+
cursor: pointer;
|
60
|
+
}
|
61
|
+
|
62
|
+
.datepicker td {
|
63
|
+
text-align: center;
|
64
|
+
width: 20px;
|
65
|
+
height: 20px;
|
66
|
+
border: 0;
|
67
|
+
font-size: $calendar-font-size;
|
68
|
+
padding: 4px 8px;
|
69
|
+
background: $calendar-bg-color;
|
70
|
+
cursor: pointer;
|
71
|
+
}
|
72
|
+
|
73
|
+
.datepicker td.active.day,
|
74
|
+
.datepicker td.active.year {
|
75
|
+
background: $calendar-active-color;
|
76
|
+
}
|
77
|
+
|
78
|
+
.datepicker .day:hover,
|
79
|
+
.datepicker .date-switch:hover,
|
80
|
+
.datepicker .prev:hover,
|
81
|
+
.datepicker .next:hover,
|
82
|
+
.datepicker .month:hover,
|
83
|
+
.datepicker .year:hover{
|
84
|
+
background-color: $calendar-bg-hover;
|
85
|
+
&.active{
|
86
|
+
background: $calendar-active-color;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
|
91
|
+
.datepicker td.new,
|
92
|
+
.datepicker td.old {
|
93
|
+
color: $calendar-color-old;
|
94
|
+
}
|
95
|
+
|
96
|
+
.datepicker td span.active {
|
97
|
+
background: $calendar-active-color;
|
98
|
+
}
|
99
|
+
|
100
|
+
.datepicker td.day.disabled {
|
101
|
+
color: $calendar-color-disabled;
|
102
|
+
}
|
103
|
+
|
104
|
+
.datepicker td span.month.disabled,
|
105
|
+
.datepicker td span.year.disabled {
|
106
|
+
color: $calendar-color-disabled;
|
107
|
+
}
|
108
|
+
|
109
|
+
.datepicker th {
|
110
|
+
text-align: center;
|
111
|
+
width: 20px;
|
112
|
+
height: 20px;
|
113
|
+
border: 0;
|
114
|
+
font-size: $calendar-font-size;
|
115
|
+
padding: 4px 8px;
|
116
|
+
background: $calendar-bg-color;
|
117
|
+
cursor: pointer;
|
118
|
+
}
|
119
|
+
|
120
|
+
.datepicker th.active.day,
|
121
|
+
.datepicker th.active.year {
|
122
|
+
background: $calendar-active-color;
|
123
|
+
}
|
124
|
+
|
125
|
+
.datepicker th.date-switch {
|
126
|
+
width: 145px;
|
127
|
+
}
|
128
|
+
|
129
|
+
.datepicker th span.active {
|
130
|
+
background: $calendar-active-color;
|
131
|
+
}
|
132
|
+
|
133
|
+
.datepicker .cw {
|
134
|
+
font-size: 10px;
|
135
|
+
width: 12px;
|
136
|
+
padding: 0 2px 0 5px;
|
137
|
+
vertical-align: middle;
|
138
|
+
}
|
139
|
+
|
140
|
+
.datepicker.days div.datepicker-days {
|
141
|
+
display: block;
|
142
|
+
}
|
143
|
+
|
144
|
+
.datepicker.months div.datepicker-months {
|
145
|
+
display: block;
|
146
|
+
}
|
147
|
+
|
148
|
+
.datepicker.years div.datepicker-years {
|
149
|
+
display: block;
|
150
|
+
}
|
151
|
+
|
152
|
+
.datepicker thead tr:first-child th {
|
153
|
+
cursor: pointer;
|
154
|
+
}
|
155
|
+
|
156
|
+
.datepicker thead tr:first-child th.cw {
|
157
|
+
cursor: default;
|
158
|
+
background-color: transparent;
|
159
|
+
}
|
160
|
+
|
161
|
+
.datepicker tfoot tr:first-child th {
|
162
|
+
cursor: pointer;
|
163
|
+
}
|
164
|
+
|
165
|
+
.datepicker-inline {
|
166
|
+
width: 220px;
|
167
|
+
}
|
168
|
+
|
169
|
+
.datepicker-rtl {
|
170
|
+
direction: rtl;
|
171
|
+
}
|
172
|
+
|
173
|
+
.datepicker-rtl table tr td span {
|
174
|
+
float: right;
|
175
|
+
}
|
176
|
+
|
177
|
+
.datepicker-dropdown {
|
178
|
+
top: 0;
|
179
|
+
left: 0;
|
180
|
+
}
|
181
|
+
|
182
|
+
.datepicker-dropdown:before {
|
183
|
+
content: '';
|
184
|
+
display: inline-block;
|
185
|
+
border-left: 7px solid transparent;
|
186
|
+
border-right: 7px solid transparent;
|
187
|
+
border-bottom: 7px solid #ccc;
|
188
|
+
border-bottom-color: $calendar-border-color;
|
189
|
+
position: absolute;
|
190
|
+
top: -7px;
|
191
|
+
left: 6px;
|
192
|
+
}
|
193
|
+
|
194
|
+
.datepicker-dropdown:after {
|
195
|
+
content: '';
|
196
|
+
display: inline-block;
|
197
|
+
border-left: 6px solid transparent;
|
198
|
+
border-right: 6px solid transparent;
|
199
|
+
border-bottom: 6px solid $calendar-bg-color;
|
200
|
+
position: absolute;
|
201
|
+
top: -6px;
|
202
|
+
left: 7px;
|
203
|
+
}
|
204
|
+
|
205
|
+
.datepicker > div,
|
206
|
+
.datepicker-dropdown::after,
|
207
|
+
.datepicker-dropdown::before {
|
208
|
+
display: none;
|
209
|
+
}
|
210
|
+
|
211
|
+
.datepicker-close {
|
212
|
+
position: absolute;
|
213
|
+
top: -30px;
|
214
|
+
right: 0;
|
215
|
+
width: 15px;
|
216
|
+
height: 30px;
|
217
|
+
padding: 0;
|
218
|
+
display: none;
|
219
|
+
}
|
220
|
+
|
221
|
+
.table-striped .datepicker table tr td,
|
222
|
+
.table-striped .datepicker table tr th {
|
223
|
+
background-color: transparent;
|
224
|
+
}
|
@@ -14,6 +14,15 @@ module Decidim
|
|
14
14
|
validates :email, :role, presence: true
|
15
15
|
validates :name, presence: true
|
16
16
|
validates :role, inclusion: { in: ParticipatoryProcessUserRole::ROLES }
|
17
|
+
|
18
|
+
def roles
|
19
|
+
Decidim::Admin::ParticipatoryProcessUserRole::ROLES.map do |role|
|
20
|
+
[
|
21
|
+
I18n.t(role, scope: "decidim.admin.models.participatory_process_user_role.roles"),
|
22
|
+
role
|
23
|
+
]
|
24
|
+
end
|
25
|
+
end
|
17
26
|
end
|
18
27
|
end
|
19
28
|
end
|
@@ -18,7 +18,7 @@
|
|
18
18
|
<% collection.each do |group| %>
|
19
19
|
<tr>
|
20
20
|
<td>
|
21
|
-
<%= link_to translated_attribute(group.name), group %><br />
|
21
|
+
<%= link_to translated_attribute(group.name), ['edit', group] %><br />
|
22
22
|
</td>
|
23
23
|
<td class="table-list__actions">
|
24
24
|
<% if can? :update, group %>
|
@@ -15,9 +15,8 @@
|
|
15
15
|
</div>
|
16
16
|
<div class="columns xlarge-4">
|
17
17
|
<%= form.label :role %>
|
18
|
-
<%= select :participatory_process_user_role, :role,
|
18
|
+
<%= select :participatory_process_user_role, :role, @form.roles, include_blank: false %>
|
19
19
|
</div>
|
20
20
|
</div>
|
21
|
-
|
22
21
|
</div>
|
23
|
-
</div>
|
22
|
+
</div>
|
@@ -29,7 +29,7 @@
|
|
29
29
|
<%= role.user.email %><br />
|
30
30
|
</td>
|
31
31
|
<td>
|
32
|
-
<%= t("
|
32
|
+
<%= t("#{role.role}", scope: "decidim.admin.models.participatory_process_user_role.roles") %><br />
|
33
33
|
</td>
|
34
34
|
<td class="table-list__actions">
|
35
35
|
<% if can? :update, role %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="card">
|
2
2
|
<div class="card-divider">
|
3
|
-
<h2 class="card-title"><%= t "decidim.admin.titles.static_pages" %> <%= link_to t("static_pages.new.
|
3
|
+
<h2 class="card-title"><%= t "decidim.admin.titles.static_pages" %> <%= link_to t("static_pages.new.create", scope: "decidim.admin"), ['new', 'static_page'], class: 'button tiny button--title new' %></h2>
|
4
4
|
</div>
|
5
5
|
<div class="card-section">
|
6
6
|
<div class="table-scroll">
|
@@ -16,7 +16,7 @@
|
|
16
16
|
<% @pages.each do |page| %>
|
17
17
|
<tr>
|
18
18
|
<td>
|
19
|
-
<%= link_to translated_attribute(page.title), page %><br />
|
19
|
+
<%= link_to translated_attribute(page.title), ['edit', page] %><br />
|
20
20
|
</td>
|
21
21
|
<td>
|
22
22
|
<%= l page.created_at, format: :short %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<!doctype html>
|
2
|
-
<html>
|
2
|
+
<html lang="<%= I18n.locale %>">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
@@ -9,6 +9,7 @@
|
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
10
10
|
<title><%= title %></title>
|
11
11
|
<%= render partial: 'layouts/decidim/admin/header' %>
|
12
|
+
<%= foundation_datepicker_locale_tag %>
|
12
13
|
</head>
|
13
14
|
<body>
|
14
15
|
<%= render partial: 'layouts/decidim/admin/template_top' %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<%= t "decidim.admin.titles.static_pages" %>
|
5
5
|
</div>
|
6
6
|
<div class="secondary-nav__actions">
|
7
|
-
<%= link_to t("static_pages.new.
|
7
|
+
<%= link_to t("static_pages.new.create", scope: "decidim.admin"), ['new', 'static_page'], class: 'button expanded small new' %>
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
<% end %>
|
data/config/i18n-tasks.yml
CHANGED
@@ -96,6 +96,8 @@ ignore_unused:
|
|
96
96
|
- decidim.admin.participatory_process_steps.default_title
|
97
97
|
- activemodel.errors.messages.*
|
98
98
|
- actions.confirm_destroy
|
99
|
+
- time.formats.*
|
100
|
+
|
99
101
|
# - '{devise,kaminari,will_paginate}.*'
|
100
102
|
# - 'simple_form.{yes,no}'
|
101
103
|
# - 'simple_form.{placeholders,hints,labels}.*'
|
data/config/locales/ca.yml
CHANGED
@@ -10,7 +10,7 @@ ca:
|
|
10
10
|
category:
|
11
11
|
description: Descripció
|
12
12
|
name: Nom
|
13
|
-
|
13
|
+
parent_id: Superior
|
14
14
|
feature:
|
15
15
|
name: Nom
|
16
16
|
weight: Pes
|
@@ -97,6 +97,9 @@ ca:
|
|
97
97
|
subtitle: Subtítol
|
98
98
|
target: A qui va dirigit?
|
99
99
|
title: Títol
|
100
|
+
decidim/participatory_process_step:
|
101
|
+
end_date: Data de finalització
|
102
|
+
start_date: Data d'inici
|
100
103
|
decidim/static_page:
|
101
104
|
content: Contingut
|
102
105
|
slug: Nom curt d'URL
|
@@ -111,7 +114,7 @@ ca:
|
|
111
114
|
destroy: Eliminar
|
112
115
|
edit: Editar
|
113
116
|
manage: Gestionar
|
114
|
-
new: Nou
|
117
|
+
new: Nou/va
|
115
118
|
permissions: Permisos
|
116
119
|
preview: Previsualitzar
|
117
120
|
publish: Publicar
|
@@ -126,7 +129,7 @@ ca:
|
|
126
129
|
success: L'adjunt s'ha eliminat correctament.
|
127
130
|
edit:
|
128
131
|
title: Edita arxiu adjunt
|
129
|
-
update:
|
132
|
+
update: Actualitzar
|
130
133
|
form:
|
131
134
|
current_file: Fitxer actual
|
132
135
|
url: URL
|
@@ -145,7 +148,7 @@ ca:
|
|
145
148
|
success: Categoria eliminada correctament.
|
146
149
|
edit:
|
147
150
|
title: Edita categoria
|
148
|
-
update:
|
151
|
+
update: Actualitzar
|
149
152
|
new:
|
150
153
|
create: Crea una categoria
|
151
154
|
title: Nova categoria
|
@@ -168,8 +171,6 @@ ca:
|
|
168
171
|
steps_title: Fases
|
169
172
|
participatory_process_user_roles:
|
170
173
|
index:
|
171
|
-
admin: Administrador
|
172
|
-
collaborator: Col·laborador
|
173
174
|
process_admins_title: Usuaris del procés participatiu
|
174
175
|
feature_permissions:
|
175
176
|
edit:
|
@@ -234,8 +235,6 @@ ca:
|
|
234
235
|
title: Títol
|
235
236
|
name: Arxiu adjunt
|
236
237
|
category:
|
237
|
-
fields:
|
238
|
-
name: Nom
|
239
238
|
name: Categoria
|
240
239
|
newsletter:
|
241
240
|
fields:
|
@@ -267,6 +266,9 @@ ca:
|
|
267
266
|
name: Nom
|
268
267
|
role: Rol
|
269
268
|
name: Usuari del procés
|
269
|
+
roles:
|
270
|
+
admin: Administrador
|
271
|
+
collaborator: Col·laborador
|
270
272
|
scope:
|
271
273
|
fields:
|
272
274
|
created_at: Data de creació
|
@@ -326,7 +328,7 @@ ca:
|
|
326
328
|
organization:
|
327
329
|
edit:
|
328
330
|
title: Edita organització
|
329
|
-
update:
|
331
|
+
update: Actualitzar
|
330
332
|
form:
|
331
333
|
current_image: Imatge actual
|
332
334
|
facebook: Facebook
|
@@ -374,9 +376,9 @@ ca:
|
|
374
376
|
success: La fase de procés participatiu s'ha eliminat correctament.
|
375
377
|
edit:
|
376
378
|
title: Editar fase de procés participatiu
|
377
|
-
update: Actualitzar
|
379
|
+
update: Actualitzar
|
378
380
|
new:
|
379
|
-
create: Crear
|
381
|
+
create: Crear
|
380
382
|
title: Nova fase de procés participatiu
|
381
383
|
ordering:
|
382
384
|
error: S'ha produït un error en la reordenació de les fases d'aquest procés participatiu.
|
@@ -405,7 +407,7 @@ ca:
|
|
405
407
|
destroy:
|
406
408
|
success: El procés participatiu s'ha eliminat correctament.
|
407
409
|
edit:
|
408
|
-
update: Actualitzar
|
410
|
+
update: Actualitzar
|
409
411
|
form:
|
410
412
|
current_image: imatge actual
|
411
413
|
title: Informació general
|
@@ -414,7 +416,7 @@ ca:
|
|
414
416
|
not_published: No publicat
|
415
417
|
published: Publicat
|
416
418
|
new:
|
417
|
-
create: Crear
|
419
|
+
create: Crear
|
418
420
|
title: Nou procés participatiu
|
419
421
|
update:
|
420
422
|
error: S'ha produït un error en l'actualització d'aquest procés participatiu.
|
@@ -431,7 +433,7 @@ ca:
|
|
431
433
|
success: Àmbit eliminat amb èxit
|
432
434
|
edit:
|
433
435
|
title: Edita àmbit
|
434
|
-
update:
|
436
|
+
update: Actualitzar
|
435
437
|
new:
|
436
438
|
create: Crea àmbit
|
437
439
|
title: Nou àmbit
|
@@ -448,9 +450,9 @@ ca:
|
|
448
450
|
success: La pàgina s'ha eliminat correctament.
|
449
451
|
edit:
|
450
452
|
title: Editar pàgina
|
451
|
-
update: Actualitzar
|
453
|
+
update: Actualitzar
|
452
454
|
new:
|
453
|
-
create:
|
455
|
+
create: Nova
|
454
456
|
title: Nova pàgina
|
455
457
|
update:
|
456
458
|
error: S'ha produït un error en l'actualització d'aquests pàgina.
|
@@ -516,4 +518,7 @@ ca:
|
|
516
518
|
settings:
|
517
519
|
title: Configuració
|
518
520
|
users:
|
519
|
-
title: Usuaris
|
521
|
+
title: Usuaris
|
522
|
+
time:
|
523
|
+
formats:
|
524
|
+
timepicker: "%d / %m / %Y %H:%M"
|