eggification
[GroupUserFolder.git] / Products / GroupUserFolder / skins / gruf_plone_2_0 / folder_localrole_form.pt
diff --git a/Products/GroupUserFolder/skins/gruf_plone_2_0/folder_localrole_form.pt b/Products/GroupUserFolder/skins/gruf_plone_2_0/folder_localrole_form.pt
new file mode 100644 (file)
index 0000000..ed0d362
--- /dev/null
@@ -0,0 +1,445 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
+      lang="en"
+      metal:use-macro="here/main_template/macros/master"
+      i18n:domain="plone">
+
+<metal:block fill-slot="top_slot"
+             tal:define="dummy python:request.set('enable_border',1)" />
+
+<body>
+
+  <div metal:fill-slot="main"
+       tal:define="Batch python:modules['Products.CMFPlone'].Batch;
+                   username member/getUserName;
+                   group_submit request/group_submit|nothing;
+                   b_size python:12;b_start python:0;b_start request/b_start | b_start;
+                   search_submitted request/role_submit|nothing;
+                   search_results python:search_submitted and mtool.searchForMembers(
+                                         {request.get('search_param',''):
+                                         request.get('search_term', '')}) or None;">
+
+    <h1 i18n:translate="heading_currently_assigned_shares">
+        Current sharing permissions for
+        <span tal:content="here/title_or_id" i18n:name="folder">title</span>
+    </h1>
+
+    <p i18n:translate="description_share_folders_items_current_shares">
+        You can share the rights for both folders (including content) and single items.
+        These users have privileges here:
+    </p>
+
+    <fieldset tal:define="iroles python:here.plone_utils.getInheritedLocalRoles(here);"
+              tal:condition="iroles">
+
+        <legend i18n:translate="legend_acquired_roles">
+            Acquired roles
+        </legend>
+
+        <table class="listing" summary="Acquired roles">
+            <thead>
+            <tr>
+                <th i18n:translate="label_user_group_name">User/Group name</th>
+                <th i18n:translate="label_type">Type</th>
+                <th i18n:translate="label_roles">Role(s)</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr tal:repeat="irole iroles">
+                <td tal:content="python:irole[0]">
+                    groupname
+                </td>
+
+                <td tal:condition="python:irole[2]=='group'"
+                    i18n:translate="label_group">
+                    Group
+                </td>
+                <td tal:condition="python:irole[2]=='user'"
+                    i18n:translate="label_user">
+                    User
+                </td>
+
+                <td>
+                <tal:block tal:repeat="role python:irole[1]">
+                    <span i18n:translate=""
+                          tal:content="role"
+                          tal:omit-tag="">Role</span>
+                    <span tal:condition="not: repeat/role/end"
+                          tal:omit-tag="">, </span>
+                </tal:block>
+                </td>
+            </tr>
+            </tbody>
+        </table>
+
+    </fieldset>
+
+    <form method="post"
+          name="deleterole"
+          action="folder_localrole_edit"
+          tal:attributes="action string:$here_url/folder_localrole_edit">
+
+      <fieldset>
+
+        <legend i18n:translate="legend_assigned_roles">
+            Assigned Roles
+            <span tal:content="here/title_or_id" i18n:name="folder">title</span>
+        </legend>
+
+        <input type="hidden" name="change_type" value="delete" />
+        <input type="hidden" name="member_role" value="" />
+
+        <table class="listing" summary="Currently assigned local roles">
+            <thead>
+            <tr>
+                <th>
+                    <input type="checkbox"
+                       onclick="javascript:toggleSelect(this, 'member_ids:list', false, 'deleterole');"
+                       name="alr_toggle"
+                       value="#"
+                       id="alr_toggle"
+                       class="noborder"
+                       />
+                </th>
+                <th i18n:translate="label_user_group_name">User/Group name</th>
+                <th i18n:translate="label_type">Type</th>
+                <th i18n:translate="label_roles">Role(s)</th>
+            </tr>
+            </thead>
+            <tbody>
+            <tr tal:repeat="lrole python:here.acl_users.getLocalRolesForDisplay(here)">
+                <td class="field">
+                    <label class="hiddenLabel" for="member_ids:list"
+                           i18n:translate="label_select_usergroup">
+                        select user/group <span tal:content="python:lrole[3]" i18n:name="role"/>
+                    </label>
+                    <input class="formSelection"
+                           type="checkbox"
+                           name="member_ids:list"
+                           id="#"
+                           value=""
+                           tal:condition="python:lrole[0]!=username"
+                           tal:attributes="value python:lrole[3];"
+                           />
+                </td>
+
+                <td tal:content="python:lrole[0]">
+                    groupname
+                </td>
+
+                <td tal:condition="python:lrole[2]=='group'"
+                    i18n:translate="label_group">
+                    Group
+                </td>
+                <td tal:condition="python:lrole[2]=='user'"
+                    i18n:translate="label_user">
+                    User
+                </td>
+
+                <td>
+                <tal:block tal:repeat="role python:lrole[1]">
+                    <span i18n:translate=""
+                          tal:content="role"
+                          tal:omit-tag="">Role</span>
+                    <span tal:condition="not: repeat/role/end"
+                          tal:omit-tag="">, </span>
+                </tal:block>
+                </td>
+            </tr>
+            </tbody>
+        </table>
+
+        <div class="submit">
+            <input class="context"
+                type="submit"
+                value="Delete Selected Role(s)"
+                i18n:attributes="value"
+                />
+        </div>
+
+        </fieldset>
+
+    </form>
+
+    <metal:block tal:condition="python:test(search_submitted and not search_results, 1, 0)">
+        <h1 i18n:translate="heading_search_results">Search results</h1>
+        <p i18n:translate="no_members_found">
+            No members were found using your <strong>Search Criteria</strong>
+        </p>
+        <hr />
+    </metal:block>
+
+    <metal:block tal:condition="python:test(search_submitted and search_results, 1, 0)">
+
+        <h1 i18n:translate="heading_search_results">Search results</h1>
+
+        <p i18n:translate="description_localrole_select_member">
+            Select one or more people, and a role to assign.
+        </p>
+
+        <metal:block tal:define="batch python:Batch(search_results, b_size, int(b_start), orphan=3);
+                                 nResults python:len(search_results);">
+
+        <form method="post"
+              name="change_type"
+              action="folder_localrole_edit"
+              tal:attributes="action string:$here_url/folder_localrole_edit">
+
+            <fieldset>
+
+                <legend i18n:translate="legend_available_members">Available Members</legend>
+
+                <input type="hidden" name="change_type" value="add" />
+
+                <!-- batch navigation -->
+                <div metal:use-macro="here/batch_macros/macros/navigation" />
+
+                <table class="listing" summary="Search results">
+                    <thead>
+                    <tr>
+                        <th>
+                            <input type="checkbox"
+                               onclick="javascript:toggleSelect(this, 'member_ids:list', false, 'change_type');"
+                               name="alr_toggle"
+                               value="#"
+                               id="alr_toggle"
+                               class="noborder"
+                               />
+                        </th>
+                        <th i18n:translate="label_user_name">User Name</th>
+                        <th i18n:translate="label_email_address">Email Address</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr tal:repeat="member batch">
+                        <td class="field" tal:define="global member_username member/getUserName">
+                            <label class="hiddenLabel" for="member_ids:list"
+                                   i18n:translate="label_select_user">
+                                select user <span tal:content="member_username" i18n:name="user" />
+                            </label>
+                            <input class="formSelection"
+                                   type="checkbox"
+                                   name="member_ids:list"
+                                   id="#"
+                                   value=""
+                                   tal:attributes="value member_username;
+                                                   checked python:nResults==1;"
+                            />
+                        </td>
+
+                        <td tal:content="python:member_username">username</td>
+                        <td tal:content="member/email">email</td>
+                    </tr>
+                    </tbody>
+                </table>
+
+                <!-- batch navigation -->
+                <div metal:use-macro="here/batch_macros/macros/navigation" />
+
+                <div class="field">
+
+                    <label for="user_member_role" i18n:translate="label_localrole_to_assign">
+                        Role to assign
+                    </label>
+
+                    <select name="member_role:list"
+                            id="user_member_role"
+                            multiple="multiple">
+                        <option tal:repeat="lroles python:mtool.getCandidateLocalRoles(here)"
+                                tal:attributes="value lroles"
+                                tal:content="lroles"
+                                i18n:translate="">
+                            Role name
+                        </option>
+                    </select>
+
+                </div>
+
+                <div class="submit">
+                    <input class="context"
+                            type="submit"
+                            value="Assign Local Role to Selected User(s)"
+                            i18n:attributes="value"
+                            />
+                </div>
+
+            </fieldset>
+
+        </form>
+
+      </metal:block>
+    </metal:block>
+
+    <div>
+      <tal:block tal:condition="python: (not search_submitted or
+                                        (search_submitted and not search_results))">
+
+        <h1 i18n:translate="heading_add_sharing_permissions">
+          Add sharing permissions for
+          <tal:block tal:content="here/title_or_id" i18n:name="item">title</tal:block>
+        </h1>
+
+
+        <p i18n:translate="description_sharing_item">
+        Sharing is an easy way to allow others access to collaborate with you
+        on your content.
+
+        To share this item, search for the person's
+        name or email address in the form below, and assign them an appropriate role.
+        The most common use is to give people Manager permissions, which means they
+        have full control of this item and its contents (if any).
+        </p>
+
+        <form method="post"
+              name="localrole"
+              action="folder_localrole_form"
+              tal:attributes="action string:$here_url/${template/getId}" >
+
+            <fieldset>
+
+                <legend i18n:translate="legend_search_terms">Search Terms</legend>
+
+                <input type="hidden" name="role_submit" value="role_submit" />
+
+                <div class="field">
+                    <label for="search_param" i18n:translate="label_search_by">
+                        Search by
+                    </label>
+
+                    <select name="search_param"
+                            id="search_param">
+                        <option value="name" i18n:translate="label_user_name">
+                            User Name
+                        </option>
+                        <option value="email" i18n:translate="label_email_address">
+                            Email Address
+                        </option>
+                    </select>
+
+                </div>
+
+                <div class="field">
+                    <label for="search_term" i18n:translate="label_search_term">
+                        Search Term
+                    </label>
+
+                    <input type="text"
+                            id="search_term"
+                            name="search_term"
+                            size="30"
+                            />
+                </div>
+
+                <div class="submit">
+                    <input class="context"
+                            type="submit"
+                            value="Perform Search"
+                            i18n:attributes="value"
+                            />
+                </div>
+
+            </fieldset>
+
+        </form>
+      </tal:block>
+
+      <tal:groupshares define="grouplist gtool/listGroups"
+                       condition="grouplist">
+
+          <h1 i18n:translate="heading_group_shares">Add sharing permissions to groups</h1>
+
+          <p i18n:translate="description_group_shares">
+            Groups are a convenient way to share items to a common set of
+            users. Select one or more groups, and a role to assign.
+          </p>
+
+          <form method="post"
+                name="change_type_group"
+                action="folder_localrole_edit"
+                tal:attributes="action string:$here_url/folder_localrole_edit">
+
+            <fieldset>
+
+                    <legend i18n:translate="legend_available_groups">
+                        Available Groups
+                    </legend>
+
+                    <input type="hidden" name="change_type" value="add" />
+
+                    <table class="listing" summary="Available groups">
+                    <thead>
+                        <tr>
+                        <th>
+                            <input type="checkbox"
+                               onclick="javascript:toggleSelect(this, 'member_ids:list', false, 'change_type_group');"
+                               name="alr_toggle"
+                               value="#"
+                               id="alr_toggle"
+                               class="noborder"
+                               />
+                        </th>
+                        <th i18n:translate="listingheader_name">Name</th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                        <tr tal:repeat="group grouplist">
+                        <td tal:define="global group_name group/getUserId">
+                            <label class="hiddenLabel" for="member_ids:list"
+                                   i18n:translate="label_select_group">
+                                select group <span tal:content="group_name" i18n:name="name"/>
+                            </label>
+                            <input class="formSelection"
+                                type="checkbox"
+                                name="member_ids:list"
+                                id="#"
+                                value=""
+                                tal:attributes="value group_name;" />
+                        </td>
+                        <td tal:content="group/getUserNameWithoutGroupPrefix">
+                            groupname
+                        </td>
+                        </tr>
+                    </tbody>
+                    </table>
+
+                    <div class="field">
+
+                        <label for="group_member_role" i18n:translate="label_localrole_to_assign">
+                            Role to assign
+                        </label>
+
+                        <select name="member_role:list"
+                                id="group_member_role"
+                                multiple="multiple">
+                            <option tal:repeat="lroles python:mtool.getCandidateLocalRoles(here)"
+                                    tal:attributes="value lroles"
+                                    tal:content="lroles"
+                                    i18n:translate="">
+                                Role name
+                            </option>
+                        </select>
+                    </div>
+
+                    <div class="submit">
+                        <input class="context"
+                            type="submit"
+                            value="Assign Local Role to Selected Group(s)"
+                            i18n:attributes="value"
+                            />
+                    </div>
+
+                </fieldset>
+
+            </form>
+
+        </tal:groupshares>
+
+      <div metal:use-macro="here/document_byline/macros/byline">
+        Get the byline - contains details about author and modification date.
+      </div>
+
+    </div>
+
+  </div>
+
+</body>
+</html>