RSS Git Download  Clone
Raw Blame History
	[% META title="Resources » User Permissions" %]
<!-- BEGIN [% template.name %] -->

    [% # INCLUDE dumper.tt dump = data %]
    [% # INCLUDE dumper.tt dump = functions %]
    [% # INCLUDE dumper.tt dump = unlock_actions %]


    <h2>[% c.cfg('settings').lab_name_abbreviation %] user permissions</h2>

    <script type="text/javascript" src="/js/floating-1.8.js"></script>
    <script type="text/javascript">
        floatingMenu.add('floatdiv',
            {
                // Represents distance from left or right browser window
                // border depending upon property used. Only one should be
                // specified.
                // targetLeft: 0,
                targetRight: 50,

                // Represents distance from top or bottom browser window
                // border depending upon property used. Only one should be
                // specified.
                targetTop: 200,
                // targetBottom: 0,

                // Uncomment one of those if you need centering on
                // X- or Y- axis.
                // centerX: true,
                // centerY: true,

                // Remove this one if you don't want snap effect (snap into position)
                snap: true
            });
    </script>

    [% nsorted_functions = natural_sort(functions.keys); # PROCESS dumper.tt dump = nsorted_functions %]

    [% BLOCK header %]
    <tr>
        <td align="right">Function ID:</td>
        [% FOREACH f IN nsorted_functions;
            title = functions.item(f);
        %]
            <th>
                <span title="[% 'unlock + ' IF unlock_actions.item(f); title %]"
                    class="acronym">[% f %]</span>
            </th>
        [% END %]
    </tr>
    [% END %]

    <div id="floatdiv" style="
        position:absolute;
        width:300px; height:50px; top:10px; right:10px;
        padding: 0px; background:#fff;
        border:none;
        z-index:100">
        <table class="tiny bkgd_grey">
        [% FOREACH f IN nsorted_functions;
            description = functions.item(f);
        %]
            <tr>
                <td align="right">[% f %]</td>
                <td>[% 'unlock + ' IF unlock_actions.item(f); description %]</td>
            </tr>
        [% END %]
        </table>
    </div>

    <form action="[% c.query.self_url %]">
        <p class="indent">Select function to restrict:
            <select name="function_id">
                <option value=""></option>
                [% FOREACH f IN functions.sort;
                    description = functions.item(f);
                %]
                    <option value="[% f %]"
                        [% 'selected' IF f == c.query.param('function_id') %]>
                        [% description; ' [+ unlock]' IF unlock_actions.item(f); %]
                    </option>
                [% END %]
                <input type="checkbox" name="invert" value="1"
                    [% 'checked' IF c.query.param('invert') %] />invert
            </select>
            [% site.html.go_btn %]
        </p>
    </form>

    <table class="tiny indent">
    [% INCLUDE header %]
    [% FOREACH user IN data.keys.sort; # PROCESS dumper.tt dump = user;
        IF c.query.param('function_id');
            IF c.query.param('invert');
                NEXT IF data.item(user).item( c.query.param('function_id') );
            ELSE;
                NEXT UNLESS data.item(user).item( c.query.param('function_id') );
            END;
        END;
    %]
        <tr>
            <td>
                [% IF c.user_can('do_admin') %]
                <a href="[% app_url %]/admin/user/get_user?username=[% user %]"
                   target="_new">[% user | upper %]</a>
                [% ELSE; user | upper; END %]
            </td>
            [% FOREACH f IN nsorted_functions;
                bkgd = # data.item(user).item(f) ? 'f00' : 'fff'; # using tick.gif now
                    'fff' %]
                <td style="background: #[% bkgd %]">
                    [% IF data.item(user).item(f) %]
                        <img src="/images/tick.gif" />
                    [% END %]
                </td>
            [% END %]
        [% INCLUDE header IF loop.count.match(0) # every 10 rows %]
        </tr>
    [% END %]
    [% # INCLUDE header %]
    </table>
<!-- END [% template.name %] -->