fix #68 - confusing behavior on adding new member
parent
f35a6eaf0a
commit
08a03f73bf
|
@ -34,10 +34,10 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
|
||||||
template = _.template("""
|
template = _.template("""
|
||||||
<div class="add-member-wrapper">
|
<div class="add-member-wrapper">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<input type="email" placeholder="Type an Email" data-required="true" data-type="email"/>
|
<input type="email" placeholder="Type an Email" <% if(required) { %> data-required="true" <% } %> data-type="email" />
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<select data-required="true">
|
<select <% if(required) { %> data-required="true" <% } %> data-required="true">
|
||||||
<% _.each(roleList, function(role) { %>
|
<% _.each(roleList, function(role) { %>
|
||||||
<option value="<%- role.id %>"><%- role.name %></option>
|
<option value="<%- role.id %>"><%- role.name %></option>
|
||||||
<% }); %>
|
<% }); %>
|
||||||
|
@ -48,8 +48,8 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
|
||||||
""") # i18n
|
""") # i18n
|
||||||
|
|
||||||
link = ($scope, $el, $attrs) ->
|
link = ($scope, $el, $attrs) ->
|
||||||
createFieldSet = ->
|
createFieldSet = (required = true)->
|
||||||
ctx = {roleList: $scope.roles}
|
ctx = {roleList: $scope.roles, required: required}
|
||||||
return template(ctx)
|
return template(ctx)
|
||||||
|
|
||||||
resetForm = ->
|
resetForm = ->
|
||||||
|
@ -86,10 +86,11 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
|
||||||
target.removeClass("icon-plus add-fieldset")
|
target.removeClass("icon-plus add-fieldset")
|
||||||
.addClass("icon-delete delete-fieldset")
|
.addClass("icon-delete delete-fieldset")
|
||||||
|
|
||||||
newFieldSet = createFieldSet()
|
newFieldSet = createFieldSet(false)
|
||||||
|
|
||||||
fieldSet.after(newFieldSet)
|
fieldSet.after(newFieldSet)
|
||||||
|
|
||||||
if $el.find("fieldset").length == MAX_MEMBERSHIP_FIELDSETS
|
if $el.find(".add-member-wrapper").length == MAX_MEMBERSHIP_FIELDSETS
|
||||||
$el.find("fieldset:last > a").removeClass("icon-plus add-fieldset")
|
$el.find("fieldset:last > a").removeClass("icon-plus add-fieldset")
|
||||||
.addClass("icon-delete delete-fieldset")
|
.addClass("icon-delete delete-fieldset")
|
||||||
|
|
||||||
|
@ -107,19 +108,31 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
|
||||||
$rootScope.$broadcast("membersform:new:error")
|
$rootScope.$broadcast("membersform:new:error")
|
||||||
|
|
||||||
form = $el.find("form").checksley()
|
form = $el.find("form").checksley()
|
||||||
|
|
||||||
|
#checksley find new fields
|
||||||
|
form.destroy()
|
||||||
|
form.initialize()
|
||||||
|
|
||||||
if not form.validate()
|
if not form.validate()
|
||||||
return
|
return
|
||||||
|
|
||||||
memberWrappers = $el.find("form > .add-member-wrapper")
|
memberWrappers = $el.find("form > .add-member-wrapper")
|
||||||
|
|
||||||
|
memberWrappers = _.filter memberWrappers, (mw) ->
|
||||||
|
angular.element(mw).find("input").hasClass('checksley-ok')
|
||||||
|
|
||||||
invitations = _.map memberWrappers, (mw) ->
|
invitations = _.map memberWrappers, (mw) ->
|
||||||
memberWrapper = angular.element(mw)
|
memberWrapper = angular.element(mw)
|
||||||
|
email = memberWrapper.find("input")
|
||||||
|
role = memberWrapper.find("select")
|
||||||
|
|
||||||
return {
|
return {
|
||||||
email: memberWrapper.find("input").val()
|
email: email.val()
|
||||||
role_id: memberWrapper.find("select").val()
|
role_id: role.val()
|
||||||
}
|
}
|
||||||
|
|
||||||
$rs.memberships.bulkCreateMemberships($scope.project.id, invitations).then(onSuccess, onError)
|
if invitations.length
|
||||||
|
$rs.memberships.bulkCreateMemberships($scope.project.id, invitations).then(onSuccess, onError)
|
||||||
|
|
||||||
return {link: link}
|
return {link: link}
|
||||||
|
|
||||||
|
|
|
@ -227,6 +227,12 @@
|
||||||
}
|
}
|
||||||
.checksley-error-list {
|
.checksley-error-list {
|
||||||
right: .5rem;
|
right: .5rem;
|
||||||
|
li {
|
||||||
|
display: none;
|
||||||
|
&:first-child {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue