root/branches/release-29/tmpl/cms/edit_role.tmpl @ 1309

Revision 1309, 17.8 kB (checked in by ddavis, 23 months ago)

standarize js comment tag escape. BugzID:58265

Line 
1<mt:setvar name="edit_role" value="1">
2<$mt:setvar name="position_actions_bottom" value="1"$>
3<mt:if name="id">
4    <mt:setvar name="page_title" value="<__trans phrase="Edit Role">">
5    <MTSetVarBlock name="content_nav">
6        <mt:include name="include/users_content_nav.tmpl">
7    </MTSetVarBlock>
8    <mt:else>
9        <mt:setvar name="page_title" value="<__trans phrase="Create Role">">
10    </mt:if>
11<mt:setvarblock name="system_msg">
12    <mt:if name="saved">
13        <mtapp:statusmsg
14            id="saved-added"
15            class="success">
16            <__trans phrase="Your changes have been saved.">
17        </mtapp:statusmsg>
18    </mt:if>
19</mt:setvarblock>
20<mt:setvarblock name="content_header">
21    <ul class="action-link-list">
22        <li>
23            <a href="<mt:var name="script_url">?__mode=list_roles" class="icon-left icon-related"><__trans phrase="List Roles"></a>
24    <mt:if name="id">
25            - <a href="<mt:var name="script_url">?__mode=list_associations&amp;role_id=<mt:var name="id">"><__trans phrase="[quant,_1,User,Users] with this role" params="<mt:var name="user_count">"></a>
26    </mt:if>
27        </li>
28    </ul>
29</mt:setvarblock>
30<mt:include name="include/header.tmpl">
31
32<script type="text/javascript">
33/* <![CDATA[ */
34function toggleAndUncheck(obj, target) {
35    if (!obj || !target) {
36        return;
37    }
38
39    var targetObj = getByID(target);
40    if (!targetObj) {
41        return;
42    }
43
44    if (obj.disabled) {
45        targetObj.disabled = true;
46    } else {
47        targetObj.disabled = !obj.checked;
48    }
49    if (!obj.checked) {
50        targetObj.checked = false;
51    }
52}
53
54function toggleAndDisable(obj, target) {
55    if (!obj || !target) {
56        return;
57    }
58
59    var targetObj = getByID(target);
60    if (!targetObj) {
61        return;
62    }
63
64    if (obj.checked) {
65        targetObj.checked = true;
66        targetObj.disabled = true;
67    } else {
68        targetObj.disabled = false;
69        // targetObj.checked = true;
70    }
71}
72
73function on_edit_config_changed(obj) {
74    toggleAndUncheck(obj, 'permission-set_publish_paths');
75}
76
77function on_create_post_changed(obj) {
78    toggleAndUncheck(obj, 'permission-publish_post');
79    var eap = getByID('permission-edit_all_posts');
80    if (eap && eap.checked) {
81        return;
82    }
83    toggleAndUncheck(obj, 'permission-send_notifications');
84}
85
86function on_edit_all_posts_changed(obj) {
87    var cp = getByID('permission-create_post');
88    if (cp && cp.checked) {
89        return;
90    }
91    toggleAndUncheck(obj, 'permission-send_notifications');
92}
93
94function on_edit_assets_changed(obj) {
95    toggleAndDisable(obj, 'permission-upload');
96    getByID("permission-save_image_defaults").disabled = false;
97}
98
99function on_upload_changed(obj) {
100    if (getByID("permission-edit_assets").checked)
101        return;
102    toggleAndUncheck(obj, 'permission-save_image_defaults');
103}
104
105var permsChanged = "no";
106function checkPerms(obj) {
107    permsChanged = "yes";
108    var name = 'on_' + obj.value + '_changed';
109    if ('function' == typeof(window[name])) {
110        window[name](obj);
111    }
112}
113function permsUnChanged() { permsChanged = "no"; }
114
115function doSubmitFormConfirm( f, mode, message ) {
116    if (confirm(message)) {
117        if (f.elements["__mode"] && mode)
118            f.elements["__mode"].value = mode;
119        f.submit();
120    }
121}
122
123function checkChanged() {
124
125var orig_roleName = "<mt:var name="name" escape="html">";
126var roleName = getByID('name').value;
127if(permsChanged == "yes") {
128    if(roleName == orig_roleName) {
129        doSubmitFormConfirm(document.role, 'save_role', '<__trans phrase="You have changed the privileges for this role. This will alter what it is that the users associated with this role will be able to do. If you prefer, you can save this role with a different name.  Otherwise, be aware of any changes to users with this role.">');
130    } else {
131        doSubmitForm(document.role, 'save_role');
132    }
133} else {
134    doSubmitForm(document.role, 'save_role');
135}
136}
137
138function allPerms(name, check) {
139    var f = document.forms['role'];
140    var flds = f[name];
141    for (var i = 0; i < flds.length; i++) {
142        flds[i].checked = check;
143        if (!flds[i].className.match(/administer_blog/))
144            flds[i].disabled = check;
145    }
146    return false;
147}
148
149function getParentByClass(n, c) {
150    var result = n;
151    while (!result.className.match(c)
152           && result.nodeName && (result.nodeName != 'body')) {
153       result = result.parentNode;
154    }
155    return result;
156}
157
158function rectify(permContainer, forcibly) {
159    var permCheckboxes = permContainer.getElementsByTagName('input');
160    for (var i=0; i < permCheckboxes.length; i++) {
161        if (permCheckboxes[i].className.match(/administer_blog/)) {
162            isAdmin = permCheckboxes[i].checked;
163        }
164    }
165    for (var i=0; i < permCheckboxes.length; i++) {
166        if (!permCheckboxes[i].className.match(/administer_blog/)) {
167            if (isAdmin) {
168                permCheckboxes[i].disabled = true;
169                permCheckboxes[i].checked = true;
170            } else {
171                if (forcibly) {
172                    permCheckboxes[i].disabled = false;
173                    permCheckboxes[i].checked = false;
174                } else {
175                    checkPerms(permCheckboxes[i]);
176                }
177            }
178        }
179    }
180    if (forcibly) {
181        for (var i=0; i < permCheckboxes.length; i++) {
182            checkPerms(permCheckboxes[i]);
183        }
184    }
185}
186
187function handleClick(e) {
188    e = e || event;
189    var targ = e.target || e.srcElement;
190    if (!targ || !targ.nodeName) {
191        return;
192    }
193    if (targ.nodeName.toLowerCase() == 'label') {
194        if (targ.getAttribute('for'))
195            targ = getByID(targ.getAttribute('for'));
196        else {
197           var inputs = targ.getElementsByTagName('input');
198           targ = inputs[0];
199           checkPerms(targ);
200        }
201    }
202    if (targ.className.match(/administer_blog/)) {
203        permContainer = getParentByClass(targ, 'permission-list');
204        rectify(permContainer, 1);
205    }
206}
207
208function rectifyAll() {
209    var containers = TC.getElementsByClassName('permission-list');
210    for (var i=0; i < containers.length; i++) {
211        rectify(containers[i]);
212    }
213    permsUnChanged();
214}
215
216TC.attachLoadEvent( rectifyAll );
217
218/* ]]> */
219</script>
220
221<div id="edit-role" onclick="handleClick(event)">
222
223<mt:if name="id">
224<form name="role" method="post" action="<mt:var name="script_url">" onsubmit="return this['__mode'] ? true : false">
225<mt:else>
226<form id="role" name="role" method="post" action="<mt:var name="script_url">">
227</mt:if>
228
229<mt:if name="id">
230    <input type="hidden" name="id" value="<mt:var name="id">" />
231</mt:if>
232    <input type="hidden" name="__mode" value="save_role" />
233    <input type="hidden" name="return_args" value="<mt:var name="return_args" escape="html">" />
234    <input type="hidden" name="magic_token" value="<mt:var name="magic_token">" />
235
236    <fieldset>
237        <h3><__trans phrase="Role Details"></h3>
238        <mtapp:setting
239            id="name"
240            label="<__trans phrase="Role Name">"
241            required="1"
242            hint="">
243            <div class="textarea-wrapper">
244                <input name="name" id="name" class="full-width" value="<mt:var name="name" escape="html">" />
245            </div>
246        </mtapp:setting>
247        <mtapp:setting
248            id="description"
249            label="<__trans phrase="Description">"
250            hint="">
251            <textarea name="description" id="description" class="full-width short" cols="" rows=""><mt:var name="description" escape="html"></textarea>
252        </mtapp:setting>
253        <mt:if name="id">
254            <mtapp:setting
255                id="created_by"
256                label="<__trans phrase="Created by">"
257                hint="">
258                <p><mt:if name="created_by"><mt:var name="created_by"><mt:else><em><__trans phrase="System"></em></mt:if></p>
259            </mtapp:setting>
260        </mt:if>
261    </fieldset>
262    <fieldset>
263        <h3><__trans phrase="Privileges"></h3>
264
265<div id="permission-list" class="permission-list">
266
267<mt:if name="is_enabled">
268<!-- <a href="javascript:void(0)" onclick="return allPerms('permission', true)"><__trans phrase="Check All"></a> | -->
269<!-- <a href="javascript:void(0)" onclick="return allPerms('permission', false)"><__trans phrase="Uncheck All"></a> -->
270</mt:if>
271
272    <mtapp:setting
273        id="administration"
274        label="<__trans phrase="Administration">"
275        hint="">
276        <ul>
277            <li><label for="permission-administer_blog"><input id="permission-administer_blog" type="checkbox" onchange="checkPerms(this);" class="administer_blog cb" name="permission" value="administer_blog"<mt:if name="have_access-administer_blog"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-administer_blog" escape="html"></label></li>
278            <li><label for="permission-edit_config"><input id="permission-edit_config" type="checkbox" onchange="checkPerms(this);" class="edit_config cb" name="permission" value="edit_config"<mt:if name="have_access-edit_config"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_config" escape="html"></label></li>
279            <li><label for="permission-set_publish_paths"><input id="permission-set_publish_paths" type="checkbox" onchange="checkPerms(this);" class="set_publish_paths cb" name="permission" value="set_publish_paths"<mt:if name="have_access-set_publish_paths"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-set_publish_paths" escape="html"></label></li>
280            <li><label for="permission-edit_categories"><input id="permission-edit_categories" type="checkbox" onchange="checkPerms(this);" class="edit_categories cb" name="permission" value="edit_categories"<mt:if name="have_access-edit_categories"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_categories" escape="html"></label></li>
281            <li><label for="permission-edit_tags"><input id="permission-edit_tags" type="checkbox" onchange="checkPerms(this);" class="edit_tags cb" name="permission" value="edit_tags"<mt:if name="have_access-edit_tags"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_tags" escape="html"></label></li>
282            <li><label for="permission-edit_notifications"><input id="permission-edit_notifications" type="checkbox" onchange="checkPerms(this);" class="edit_notifications cb" name="permission" value="edit_notifications"<mt:if name="have_access-edit_notifications"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_notifications" escape="html"></label></li>
283            <li><label for="permission-view_blog_log"><input id="permission-view_blog_log" type="checkbox" onchange="checkPerms(this);" class="view_blog_log cb" name="permission" value="view_blog_log"<mt:if name="have_access-view_blog_log"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-view_blog_log" escape="html"></label></li>
284        </ul>
285    </mtapp:setting>
286
287    <mtapp:setting
288        id="authoring_publishing"
289        label="<__trans phrase="Authoring and Publishing">"
290        hint="">
291        <ul>
292            <li><label for="permission-create_post"><input id="permission-create_post" type="checkbox" onchange="checkPerms(this);" class="create_post cb" name="permission" value="create_post"<mt:if name="have_access-create_post"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-create_post" escape="html"></label></li>
293            <li><label for="permission-publish_post"><input id="permission-publish_post" type="checkbox" onchange="checkPerms(this);" class="publish_post cb" name="permission" value="publish_post"<mt:if name="have_access-publish_post"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-publish_post" escape="html"></label></li>
294            <li><label for="permission-send_notifications"><input id="permission-send_notifications" type="checkbox" onchange="checkPerms(this);" class="send_notifications cb" name="permission" value="send_notifications"<mt:if name="have_access-send_notifications"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-send_notifications" escape="html"></label></li>
295            <li><label for="permission-edit_all_posts"><input id="permission-edit_all_posts" type="checkbox" onchange="checkPerms(this);" class="edit_all_posts cb" name="permission" value="edit_all_posts"<mt:if name="have_access-edit_all_posts"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_all_posts" escape="html"></label></li>
296            <li><label for="permission-manage_pages"><input id="permission-manage_pages" type="checkbox" onchange="checkPerms(this);" class="manage_pages cb" name="permission" value="manage_pages"<mt:if name="have_access-manage_pages"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-manage_pages" escape="html"></label></li>
297            <li><label for="permission-rebuild"><input id="permission-rebuild" type="checkbox" onchange="checkPerms(this);" class="rebuild cb" name="permission" value="rebuild"<mt:if name="have_access-rebuild"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-rebuild" escape="html"></label></li>
298        </ul>
299    </mtapp:setting>
300
301    <mtapp:setting
302        id="designing"
303        label="<__trans phrase="Designing">"
304        hint="">
305        <ul>
306            <li><label for="permission-edit_templates"><input id="permission-edit_templates" type="checkbox" onchange="checkPerms(this);" class="edit_templates cb" name="permission" value="edit_templates"<mt:if name="have_access-edit_templates"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_templates" escape="html"></label></li>
307        </ul>
308    </mtapp:setting>
309
310    <mtapp:setting
311        id="assets"
312        label="<__trans phrase="Assets">"
313        hint="">
314        <ul>
315            <li><label for="permission-edit_assets"><input id="permission-edit_assets" type="checkbox" onchange="checkPerms(this);" class="edit_assets cb" name="permission" value="edit_assets"<mt:if name="have_access-edit_assets"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-edit_assets" escape="html"></label></li>
316            <li><label for="permission-upload"><input id="permission-upload" type="checkbox" onchange="checkPerms(this);" class="upload cb" name="permission" value="upload"<mt:if name="have_access-upload"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-upload" escape="html"></label></li>
317            <li><label for="permission-save_image_defaults"><input id="permission-save_image_defaults" type="checkbox" onchange="checkPerms(this);" class="save_image_defaults cb" name="permission" value="save_image_defaults"<mt:if name="have_access-save_image_defaults"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"><mt:unless name="have_access-edit_assets"> disabled="disabled"</mt:unless></mt:unless></mt:if> /> <mt:var name="prompt-save_image_defaults" escape="html"></label></li>
318        </ul>
319    </mtapp:setting>
320
321    <mtapp:setting
322        id="commenting"
323        label="<__trans phrase="Commenting">"
324        hint="">
325        <ul>
326            <li><label for="permission-comment"><input id="permission-comment" type="checkbox" onchange="checkPerms(this);" class="comment cb" name="permission" value="comment"<mt:if name="have_access-comment"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-comment" escape="html"></label></li>
327            <li><label for="permission-manage_feedback"><input id="permission-manage_feedback" type="checkbox" onchange="checkPerms(this);" class="manage_feedback cb" name="permission" value="manage_feedback"<mt:if name="have_access-manage_feedback"> checked="checked"</mt:if><mt:if name="id"><mt:unless name="is_enabled"> disabled="disabled"</mt:unless></mt:if> /> <mt:var name="prompt-manage_feedback" escape="html"></label></li>
328        </ul>
329    </mtapp:setting>
330
331</div>
332
333<mt:if name="id">
334<mt:if name="same_perm_loop">
335    <mtapp:setting
336        id="same_permissions"
337        label="<__trans phrase="Duplicate Roles">"
338        hint="<__trans phrase="These roles have the same privileges as this role">">
339        <div class="static">
340        <mt:loop name="same_perm_loop">
341        <a href="<mt:var name="script_url">?__mode=edit_role&amp;id=<mt:var name="id">"><mt:var name="name" escape="html"></a>
342        </mt:loop>
343        </div>
344    </mtapp:setting>
345</mt:if>
346</mt:if>
347
348</fieldset>
349
350
351
352<mt:setvarblock name="action_buttons">
353    <button
354    <mt:if name="id">
355        onclick="checkChanged();"
356    </mt:if>
357        type="submit"
358        accesskey="s"
359        title="<__trans phrase="Save changes to this role (s)">"
360        class="primary-button"
361        ><__trans phrase="Save Changes"></button>
362</mt:setvarblock>
363<mt:include name="include/actions_bar.tmpl" bar_position="bottom" hide_pager="1" settings_bar="1">
364</form>
365
366</div>
367
368<mt:include name="include/footer.tmpl">
Note: See TracBrowser for help on using the browser.