فهرست منبع

Merge pull request #595 from sharelatex/as-fix-share-emails

Fix UX issues in email autocompletion in share modal
Alasdair Smith 9 سال پیش
والد
کامیت
1b144ed183

+ 3 - 0
services/web/app/views/project/editor/share.pug

@@ -71,6 +71,7 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
 							focus-on="open"
 							display-property="display"
 							add-on-paste="true"
+							add-on-enter="false"
 							replace-spaces-with-dashes="false"
 							type="email"
 						)
@@ -146,6 +147,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
 						| #{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")}
 		button.btn.btn-default(

+ 6 - 3
services/web/public/coffee/ide/share/controllers/ShareProjectModalController.coffee

@@ -39,7 +39,7 @@ define [
 					$scope.autocompleteContacts = data.contacts or []
 					for contact in $scope.autocompleteContacts
 						if contact.type == "user"
-							if contact.last_name == "" and contact.first_name = contact.email.split("@")[0]
+							if contact.last_name == "" and contact.first_name == contact.email.split("@")[0]
 								# User has not set their proper name so use email as canonical display property
 								contact.display = contact.email
 							else
@@ -127,10 +127,13 @@ define [
 								# with new collaborator information.
 								addNextMember()
 							, 0
-						.catch () ->
+						.catch (err) ->
 							$scope.state.inflight = false
 							$scope.state.error = true
-							$scope.state.errorReason = null
+							if err.status? and err.status == 400
+								$scope.state.errorReason = 'invalid_email'
+							else
+								$scope.state.errorReason = null
 
 			$timeout addMembers, 50 # Give email list a chance to update