]> git.agnieray.net Git - galette.git/blob - galette/templates/default/pages/configuration_core_lists.html.twig
35fc28998942dc6196bd583b4479414e17909d3e
[galette.git] / galette / templates / default / pages / configuration_core_lists.html.twig
1 {% extends 'page.html.twig' %}
2
3 {% block content %}
4 <noscript>
5 <div class="ui basic fitted center aligned segment">
6 <div class="ui compact message">{{ _T("This feature requires javascript.") }}</div>
7 </div>
8 </noscript>
9 <form action="{{ url_for('storeListFields', {'table': table}) }}" method="post" id="config_fields_form" class="ui form">
10 <div id="members_tab" class="ui grid">
11 <div class="eight wide column">
12 <div class="ui top attached accordion-styled header">
13 {{ _T("Fields in list") }}
14 </div>
15 <div class="jsonly disabled ui bottom attached accordion-styled segment">
16 <div class="ui basic fitted segment">
17 <div class="ui two column stackable grid">
18 <div class="middle aligned row">
19 <div class="column">
20 <span class="ui fluid label">{{ _T("Field name") }}</span>
21 </div>
22 <div class="column">
23 <span class="ui fluid label">{{ _T("Permissions") }}</span>
24 </div>
25 </div>
26 </div>
27 </div>
28 <ul id="listed_fields" class="sortable-items">
29 {% for col, field in listed_fields %}
30 {% set fid = field.field_id %}
31 <li class="{% if fid == 'id_adh' or fid == 'list_adh_name' %}nosort ui-state-disabled {% endif %}ui segment">
32 <div class="ui two column stackable grid">
33 <div class="middle aligned row">
34 <div class="column">
35 <i class="arrows alternate icon" aria-hidden="true"></i>
36 <span data-title="{{ _T("Field name") }}">
37 <input type="hidden" name="fields[]" value="{{ fid }}"/>
38 {{ field.label }}
39 </span>
40 </div>
41 <div class="column">
42 <span data-title="{{ _T("Permissions") }}" title="{{ _T("Change '%field' permissions")|replace({'%field': field.label}) }}">
43 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::NOBODY') %}{{ _T("Inaccessible") }}{% endif %}
44 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::ADMIN') %}{{ _T("Administrator") }}{% endif %}
45 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::STAFF') %}{{ _T("Staff member") }}{% endif %}
46 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::MANAGER') %}{{ _T("Group manager") }}{% endif %}
47 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_READ') %}{{ _T("Read only") }}{% endif %}
48 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_WRITE') %}{{ _T("Read/Write") }}{% endif %}
49 </span>
50 </div>
51 </div>
52 </div>
53 </li>
54 {% endfor %}
55 </ul>
56 </div>
57 </div>
58 <div class="eight wide column">
59 <div class="ui top attached accordion-styled header">
60 {{ _T("Available fields") }}
61 </div>
62 <div class="jsonly disabled ui bottom attached accordion-styled segment">
63 <div class="ui basic fitted segment">
64 <div class="ui two column stackable grid">
65 <div class="middle aligned row">
66 <div class="column">
67 <span class="ui fluid label">{{ _T("Field name") }}</span>
68 </div>
69 <div class="column">
70 <span class="ui fluid label">{{ _T("Permissions") }}</span>
71 </div>
72 </div>
73 </div>
74 </div>
75 <ul id="remaining_fields" class="sortable-items">
76 {% for col, field in remaining_fields %}
77 {% set fid = field.field_id %}
78 <li class="ui segment">
79 <div class="ui two column stackable grid">
80 <div class="middle aligned row">
81 <div class="column">
82 <i class="arrows alternate icon" aria-hidden="true"></i>
83 <span data-title="{{ _T("Field name") }}">
84 <input type="hidden" name="rfields[]" value="{{ fid }}"/>
85 {{ field.label }}
86 </span>
87 </div>
88 <div class="column">
89 <span data-title="{{ _T("Permissions") }}" title="{{ _T("Change '%field' permissions")|replace({'%field': field.label}) }}">
90 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::NOBODY') %}{{ _T("Inaccessible") }}{% endif %}
91 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::ADMIN') %}{{ _T("Administrator") }}{% endif %}
92 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::STAFF') %}{{ _T("Staff member") }}{% endif %}
93 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::MANAGER') %}{{ _T("Group manager") }}{% endif %}
94 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_READ') %}{{ _T("Read only") }}{% endif %}
95 {% if field.visible == constant('Galette\\Entity\\FieldsConfig::USER_WRITE') %}{{ _T("Read/Write") }}{% endif %}
96 </span>
97 </div>
98 </div>
99 </div>
100 </li>
101 {% endfor %}
102 </ul>
103 </div>
104 </div>
105 </div>
106 <div class="ui basic center aligned segment">
107 <button type="submit" class="ui labeled icon primary button action">
108 <i class="save icon" aria-hidden="true"></i> {{ _T("Save") }}
109 </button>
110 </div>
111 {% include "components/forms/csrf.html.twig" %}
112 </form>
113 {% endblock %}
114
115 {% block javascripts %}
116 <script type="module">
117 var _initSortable = function(){
118 var _listed = document.getElementById('listed_fields');
119 var _remaining = document.getElementById('remaining_fields');
120
121 new Sortable(_listed, {
122 group: 'lists',
123 animation: 150,
124 ghostClass: 'yellow',
125 onAdd: function (evt) {
126 var _item = evt.item;
127 _item.classList.add('yellow');
128 _item.getElementsByTagName('input')[0].setAttribute('name', 'fields[]');
129 },
130 onUpdate: function (evt) {
131 var _item = evt.item;
132 _item.classList.add('yellow');
133 }
134 });
135
136 new Sortable(_remaining, {
137 group: 'lists',
138 animation: 150,
139 ghostClass: 'yellow',
140 onAdd: function (evt) {
141 var _item = evt.item;
142 _item.classList.add('yellow');
143 _item.getElementsByTagName('input')[0].setAttribute('name', 'rfields[]');
144 }
145 });
146 }
147
148 $(function() {
149 _initSortable();
150 });
151 </script>
152 {% endblock %}