| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- script(type='text/ng-template', id='shareProjectModalTemplate')
- .modal-header
- button.close(
- type="button"
- data-dismiss="modal"
- ng-click="cancel()"
- ) ×
- h3 #{translate("share_project")}
- .modal-body.modal-body-share
- .container-fluid
- //- Private (with token-access available)
- .row.public-access-level(ng-show="project.publicAccesLevel == 'private'")
- .col-xs-12.text-center
- | #{translate('link_sharing_is_off')}.
- |
- a(
- href
- ng-click="openMakeTokenBasedModal()"
- ) #{translate('turn_on_link_sharing')}
- span
- a(
- href="/learn/Kb/what_is_link_sharing"
- target="_blank"
- )
- i.fa.fa-question-circle(
- tooltip=translate('learn_more_about_link_sharing')
- )
- //- Token-based access
- .row.public-access-level(ng-show="project.publicAccesLevel == 'tokenBased'")
- .col-xs-12.text-center
- strong
- | #{translate('link_sharing_is_on')}.
- |
- a(
- href
- ng-click="openMakePrivateModal()"
- ) #{translate('turn_off_link_sharing')}
- span
- a(
- href="/learn/Kb/what_is_link_sharing"
- target="_blank"
- )
- i.fa.fa-question-circle(
- tooltip=translate('learn_more_about_link_sharing')
- )
- .col-xs-12.access-token-display-area
- div.access-token-wrapper
- strong #{translate('anyone_with_link_can_edit')}
- pre.access-token {{ getReadAndWriteTokenLink() }}
- div.access-token-wrapper
- strong #{translate('anyone_with_link_can_view')}
- pre.access-token {{ getReadOnlyTokenLink() }}
- //- legacy public-access
- .row.public-access-level(ng-show="project.publicAccesLevel == 'readAndWrite' || project.publicAccesLevel == 'readOnly'")
- .col-xs-12.text-center
- strong(ng-if="project.publicAccesLevel == 'readAndWrite'") #{translate("this_project_is_public")}
- strong(ng-if="project.publicAccesLevel == 'readOnly'") #{translate("this_project_is_public_read_only")}
- |
- a(
- href
- ng-click="openMakePrivateModal()"
- ) #{translate("make_private")}
- .row.project-member
- .col-xs-8 {{ project.owner.email }}
- .text-left(
- ng-class="{'col-xs-3': project.members.length > 0, 'col-xs-4': project.members.length == 0}"
- ) #{translate("owner")}
- .row.project-member(ng-repeat="member in project.members")
- .col-xs-8 {{ member.email }}
- .col-xs-3.text-left
- span(ng-show="member.privileges == 'readAndWrite'") #{translate("can_edit")}
- span(ng-show="member.privileges == 'readOnly'") #{translate("read_only")}
- .col-xs-1
- a(
- href
- tooltip=translate('remove_collaborator')
- tooltip-placement="bottom"
- ng-click="removeMember(member)"
- )
- i.fa.fa-times
- .row.project-invite(ng-repeat="invite in project.invites")
- .col-xs-8 {{ invite.email }}
- div.small
- | #{translate("invite_not_accepted")}.
- a(href="#", ng-click="resendInvite(invite, $event)") #{translate("resend")}
- .col-xs-3.text-left
- // todo: get invite privileges
- span(ng-show="invite.privileges == 'readAndWrite'") #{translate("can_edit")}
- span(ng-show="invite.privileges == 'readOnly'") #{translate("read_only")}
- .col-xs-1
- a(
- href
- tooltip=translate('revoke_invite')
- tooltip-placement="bottom"
- ng-click="revokeInvite(invite)"
- )
- i.fa.fa-times
- .row.invite-controls
- form(ng-show="canAddCollaborators")
- .small #{translate("share_with_your_collabs")}
- .form-group
- tags-input(
- template="shareTagTemplate"
- placeholder=settings.customisation.shareProjectPlaceholder || 'joe@example.com, sue@example.com, ...'
- ng-model="inputs.contacts"
- focus-on="open"
- display-property="display"
- add-on-paste="true"
- add-on-enter="false"
- replace-spaces-with-dashes="false"
- type="email"
- )
- auto-complete(
- source="filterAutocompleteUsers($query)"
- template="shareAutocompleteTemplate"
- display-property="email"
- min-length="0"
- )
- .form-group
- .pull-right
- select.privileges.form-control(
- ng-model="inputs.privileges"
- name="privileges"
- )
- option(value="readAndWrite") #{translate("can_edit")}
- option(value="readOnly") #{translate("read_only")}
- |
- //- We have to use mousedown here since click has issues with the
- //- blur handler in tags-input sometimes changing its height and
- //- moving this button, preventing the click registering.
- button.btn.btn-info(
- type="submit"
- ng-mousedown="addMembers()"
- ng-keyup="$event.keyCode == 13 ? addMembers() : null"
- ) #{translate("share")}
- div(ng-hide="canAddCollaborators")
- p.text-center #{translate("need_to_upgrade_for_more_collabs")}. Also:
- .row
- .col-md-8.col-md-offset-2
- ul.list-unstyled
- li
- i.fa.fa-check
- | #{translate("unlimited_projects")}
-
- li
- i.fa.fa-check
- | #{translate("collabs_per_proj", {collabcount:'Multiple'})}
-
- li
- i.fa.fa-check
- | #{translate("full_doc_history")}
-
- li
- i.fa.fa-check
- | #{translate("sync_to_dropbox")}
- li
- i.fa.fa-check
- | #{translate("sync_to_github")}
- li
- i.fa.fa-check
- |#{translate("compile_larger_projects")}
- p.text-center.row-spaced-thin(ng-controller="FreeTrialModalController")
- a.btn.btn-success(
- href
- ng-class="buttonClass"
- sixpack-convert="track_changes_feature_info"
- ng-click="startFreeTrial('projectMembers')"
- ) #{translate("start_free_trial")}
- p.small(ng-show="startedFreeTrial")
- | #{translate("refresh_page_after_starting_free_trial")}.
- .modal-footer.modal-footer-share
- .modal-footer-left
- i.fa.fa-refresh.fa-spin(ng-show="state.inflight")
- span.text-danger.error(ng-show="state.error")
- span(ng-switch="state.errorReason")
- span(ng-switch-when="cannot_invite_non_user")
- | #{translate("cannot_invite_non_user")}
- span(ng-switch-when="cannot_invite_self")
- | #{translate("cannot_invite_self")}
- span(ng-switch-when="invalid_email")
- | #{translate("invalid_email")}
- span(ng-switch-default)
- | #{translate("generic_something_went_wrong")}
- .modal-footer-right
- button.btn.btn-default(
- ng-click="done()"
- ) #{translate("close")}
- script(type="text/ng-template", id="makeTokenBasedModalTemplate")
- .modal-header
- button.close(
- type="button"
- data-dismiss="modal"
- ng-click="cancel()"
- ) ×
- h3 Enable link-sharing?
- .modal-body.modal-body-share
- p #{translate('turn_on_link_sharing_consequences')}
- a(href="/learn/Kb/what_is_link_sharing" target="blank")
- | #{translate('learn_more_about_link_sharing')}
- .modal-footer
- button.btn.btn-default(
- ng-click="cancel()"
- ) #{translate("cancel")}
- button.btn.btn-info(
- ng-click="makeTokenBased()"
- ) #{translate('turn_on_link_sharing')}
- script(type="text/ng-template", id="makePrivateModalTemplate")
- //- Token
- div(ng-if="project.publicAccesLevel == 'tokenBased'")
- .modal-header
- button.close(
- type="button"
- data-dismiss="modal"
- ng-click="cancel()"
- ) ×
- h3 #{translate("make_project_private")}?
- .modal-body.modal-body-share
- p #{translate('turn_off_link_sharing_consequences')}
- .modal-footer
- button.btn.btn-default(
- ng-click="cancel()"
- ) #{translate("cancel")}
- button.btn.btn-info(
- ng-click="makePrivate()"
- ) #{translate("turn_off_link_sharing")}
- //- Legacy public-access
- div(ng-if="project.publicAccesLevel != 'tokenBased'")
- .modal-header
- button.close(
- type="button"
- data-dismiss="modal"
- ng-click="cancel()"
- ) ×
- h3 #{translate("make_project_private")}?
- .modal-body.modal-body-share
- p #{translate("make_project_private_consequences")}
- .modal-footer
- button.btn.btn-default(
- ng-click="cancel()"
- ) #{translate("cancel")}
- button.btn.btn-info(
- ng-click="makePrivate()"
- ) #{translate("make_private")}
- script(type="text/ng-template", id="shareTagTemplate")
- .tag-template
- span(ng-if="data.type")
- i.fa.fa-fw(ng-class="{'fa-user': data.type != 'group', 'fa-group': data.type == 'group'}")
- |
- span {{$getDisplayText()}}
- |
- a(href, ng-click="$removeTag()").remove-button
- i.fa.fa-fw.fa-close
- script(type="text/ng-template", id="shareAutocompleteTemplate")
- .autocomplete-template
- div(ng-if="data.type == 'user'")
- i.fa.fa-fw.fa-user
- |
- span(ng-bind-html="$highlight(data.display)")
- div(ng-if="data.type == 'group'")
- i.fa.fa-fw.fa-group
- |
- span(ng-bind-html="$highlight(data.name)")
- span.subdued.small(ng-show="data.member_count") ({{ data.member_count }} members)
|