[%# Manage privileges for a given user, or see who has a given privilege. # # Authors: # Amy Hendrix -- original page # Jen Griffin -- TT conversion # # Copyright (c) 2009-2020 by Dreamwidth Studios, LLC. # # This program is free software; you may redistribute it and/or modify it # under the same terms as Perl itself. For a copy of the license, please # reference 'perldoc perlartistic' or 'perldoc perlgpl'. # %] [%- sections.title='.title' | ml -%] [%- sections.head = BLOCK %] [% END %] [%- CALL dw.active_resource_group( "foundation" ) -%] [%- INCLUDE components/errors.tt errors = success style = 'success' -%]

<< [% '.header.viewpriv' | ml( privname = pname ) %]

[%- da = pinfo.des.split( 'arg=' ); des = da.0; args = da.1 -%]

[% '.label.privname' | ml %] [% pinfo.privname %] [% IF des %]
[% '.label.desc' | ml %] [% des; END %] [% IF args %]
[% '.label.arg' | ml %] [% args; END %]

[%- IF pinfo.is_public || remote_can_grant( pcode, arg ) -%]
[% dw.form_auth %]

[% form.textbox( label = dw.ml( '.label.viewprivswitharg' ), name = 'viewarg', size = 20 ) %] [% form.submit( name = 'submit:load', value = dw.ml( '.btn.load' ) ) %]

[% form.hidden( name = 'priv', value = pcode ) %] [% form.hidden( name = 'mode', value = 'privchange' ) %] [%- IF privusers.size -%] [%- FOREACH row IN privusers -%] [%- END -%]
[% '.col.revoke' | ml %] [% '.col.user' | ml %] [% '.col.arg' | ml %]
[%- IF remote_can_grant( pcode, row.arg ); form.checkbox( name = "revoke:${row.prmid}:${row.userid}", selected = 0 ); ELSE; "--"; END %] { user => row.user } ) %]'> [% row.user %] [%- IF row.arg -%] { priv => pcode, viewarg => row.arg } ) %]'> [% row.arg | html %] [%- ELSE; ' '; END -%]
[% '.txt.numusers' | ml( count = privusers.size ) %]
[%- IF privusers.size >= limit -%]

1, args => { priv => pcode, skip => skip + limit, viewarg => arg } ) %]'> [% '.txt.skipmore' | ml %]

[%- END -%] [%- ELSE -%]

[% '.txt.nousers' | ml %]

[%- END -%] [%- IF remote_can_grant( pcode, arg ) -%]

[% '.header.grant' | ml( privname = pname ) %]

[% form.textbox( label = dw.ml( '.label.grantuser' ), name = 'grantuser', size = site.maxlength_user, maxlength = site.maxlength_user ) %] [% form.textbox( label = dw.ml( '.label.grantarg' ), name = 'arg', size = 20, maxlength = 40, value = arg ) %]

[%- ELSE -%]

[% '.txt.noadmin' | ml %]

[%- END -%] [%- IF remote_can_grant( pcode, arg ) -%] [% form.submit( name = 'submit:change', value = dw.ml( '.btn.changes' ) ) %] [%- END -%]
[% dw.form_auth %] [% form.hidden( name = 'priv', value = pcode ) %] [% form.hidden( name = 'mode', value = 'privchange' ) %] [% form.hidden( name = 'viewarg', value = arg ) %] [% form.submit( name = 'submit:refresh', value = dw.ml( '.btn.refresh' ) ) %]
[%- ELSE -%]

[% '.txt.notpublic' | ml %]

[%- END -%]