--- /dev/null
+<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>