access.html 6.73 KB
Newer Older
mntmn's avatar
mntmn committed
1
2
3
4
5
<div class="modal" v-if="active_modal == 'access' && access_settings_space" v-cloak>
  <div class="modal-wrapper">
    <div class="modal-dialog">
      <div class="modal-content" style="width:760px">
        <div class="modal-header" style="padding-bottom:0">
mntmn's avatar
mntmn committed
6
          <h3 class="text-left">[[__("share")]]: {{access_settings_space.name}}</h3>
mntmn's avatar
mntmn committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
          <button type="button" class="btn btn-icon btn-light btn-round close" v-on:click=" close_modal()">
            <span class="icon icon-cross-1"></span>
          </button>
        </div>

        <div class="modal-body">
          <div class="modal-section" style="padding-top:0;padding-bottom:20px">
            <label class="radio" v-bind:class="{checked:access_settings_space.access_mode=='private'}">
              <input type="radio" name="access_mode" value="private" v-model="access_settings_space.access_mode" v-on:click="save_space_access_mode($event)"> [[__("mode_private")]]
            </label>
            <label class="radio" v-bind:class="{checked:access_settings_space.access_mode=='public'}">
              <input type="radio" name="access_mode" value="public" v-model="access_settings_space.access_mode" v-on:click="save_space_access_mode($event)">[[__("mode_public")]]
            </label>
          </div>

          <div class="modal-section" v-if="active_space" style="padding-bottom:10px">
            <h4 class="text-left"><span class="icon icon-link icon-sm"></span> [[__("access_editor_link")]] </h4>
            <p class="text-left">
              [[__("access_editor_link_desc")]]
            </p>
            
            <div class="input-group org-add-form">
              <input id="editorurl2" type="text" class="form-control input input-lg"  v-bind:value="share_base + '/s/' + access_settings_space.edit_hash + (access_settings_space.edit_slug ? '-' : '') + access_settings_space.edit_slug"/>

              <span class="input-group-btn">
                <span id="org-add-member" class="btn btn-lg btn-primary clipboard-btn" data-clipboard-target="#editorurl2" v-clipboard>
                  [[__("copy")]]
                </span>
              </span>
            </div>


            <label class="checkbox" v-bind:class="{checked:access_settings_space.editors_locking}">
              <input
                 type="checkbox"
                 v-bind:checked="access_settings_space.editors_locking"
                 v-model="access_settings_space.editors_locking" v-on:change="save_space_editors_locking($event)" />
              [[__("access_anonymous_edit_blocking")]]
            </label>
          </div>

          <!-- subsection "invite" -->
          <div id="new-editor" class="modal-section" style="padding-bottom:20px">
            <h4 class="text-left"><span class="icon icon-user-add icon-sm"></span> [[__('access_new_members')]]</h4>

            <div class="form-group">
              <span class="error-note" v-if="invite_email_error">{{invite_email_error}}</span>
              <input class="input input-block input-white"
                     v-bind:class="{error: !!invite_email_error}"
                     id="invitee_email"
                     v-model="invite_email"
                     type="email" placeholder="[[__('invite_emails')]]">

              <textarea id="invite-message"  class="input input-block input-white overflow-y-scroll"
                        v-model="invite_message" placeholder="[[__('optional_message')]]" name="Message"></textarea>

              <select class="input input-white" v-model="invite_member_role">
                <option value="viewer">[[__("role_viewer")]]</option>
                <option value="editor">[[__("role_editor")]]</option>
                <option value="admin">[[__("role_admin")]]</option>
              </select>
            </div>

            <div class="form-group">
mntmn's avatar
mntmn committed
71
              <button class="btn btn-primary btn-md" v-on:click="invite_member(access_settings_space, invite_email, invite_message, invite_member_role)"> [[__("invite")]] </button>
mntmn's avatar
mntmn committed
72
73
74
75
76
77
78
79
80
            </div>
          </div>

          
          <!-- subsection "editors list" -->
          <div class="modal-section" style="padding-bottom:60px">
            <h4 class="text-left"><span class="icon icon-user-group icon-sm"></span> [[__("access_current_members")]]</h4>
            <table class="table">
              <tr>
81
                <th></th>
mntmn's avatar
mntmn committed
82
83
84
85
86
87
                <th>Email / Name</th>
                <th>Role</th>
                <th></th>
              </tr>
              <tr v-for="member in access_settings_memberships" v-bind:class="member.state">
                <td>
88
89
90
91
92
93
94
                  <span class="editor-avatar btn btn-md btn-dark btn-icon btn-round"
                        v-if="member.user"
                        v-bind:style="background_image_style([member.user.avatar_thumb_uri])"
                        v-bind:class="{'has-avatar-image':!!member.user.avatar_thumb_uri}">
                    <span class="icon icon-user" v-if="!member.user.avatar_thumb_uri"></span>
                  </span>
                  <span class="editor-avatar btn btn-md btn-round btn-icon icon-hourglass" v-if="!member.user"></span>
mntmn's avatar
mntmn committed
95
96
                </td>
                <td>
97
98
99
100
                  <span class="editor-name"  v-if="member.user && member.state == 'active'">{{member.user.nickname}}</span>
                  <span class="editor-email" v-if="!member.user || member.state == 'pending'">(pending)</span>
                  <span class="editor-email" v-if="member.user && member.state == 'active'">({{member.user.email}})</span>
                  <span class="editor-email" v-if="!member.user || member.state == 'pending'">({{member.email_invited}})</span>
mntmn's avatar
mntmn committed
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
                </td>
                <td>
                  <div class="form-group">
                    <select class="input input-sm" v-model="member.role" v-on:change="update_member(access_settings_space, member, $event.currentTarget.value)" style="width:auto">
                      <option value="viewer">[[__("role_viewer")]]</option>
                      <option value="editor">[[__("role_editor")]]</option>
                      <option value="admin">[[__("role_admin")]]</option>
                    </select>
                  </div>
                </td>
                <td>
                  <button class="btn btn-sm btn-stroke-darken" v-on:click="remove_member(access_settings_space, member)">[[__("delete")]]</button>
                </td>
              </tr>
            </table>
            <p class="text-left" v-if="!access_settings_memberships.length">
              [[__("access_no_members")]]
            </p>

            <div class="form-group" style="padding-top: 40px">
mntmn's avatar
mntmn committed
121
              <button class="btn btn-primary btn-md" v-on:click="close_modal();"> [[__("ok")]] </button>
mntmn's avatar
mntmn committed
122
123
124
125
126
127
128
129
            </div>
          </div>

        </div>
      </div>
    </div>
  </div>
</div>