diff --git a/CHANGELOG.md b/CHANGELOG.md
index f073389a..1f8644bf 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,7 @@
- Add visual difference to closed USs in backlog panel.
- Show crerated date of attachments in the hover of the filename.
- Add beta ribbon.
+- Support for custom text when inviting users.
### Misc
- Lots of small and not so small bugfixes
diff --git a/app/coffee/modules/admin/lightboxes.coffee b/app/coffee/modules/admin/lightboxes.coffee
index 2cf83e74..bf30904a 100644
--- a/app/coffee/modules/admin/lightboxes.coffee
+++ b/app/coffee/modules/admin/lightboxes.coffee
@@ -24,13 +24,19 @@ debounce = @.taiga.debounce
module = angular.module("taigaKanban")
-MAX_MEMBERSHIP_FIELDSETS = 6
+MAX_MEMBERSHIP_FIELDSETS = 4
#############################################################################
## Create Members Lightbox Directive
#############################################################################
CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
+ extraTextTemplate = """
+
+ """
+
template = _.template("""
@@ -53,11 +59,14 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
return template(ctx)
resetForm = ->
- $el.find("form > .add-member-wrapper").remove()
+ $el.find("form textarea").remove("")
+ $el.find("form .add-member-wrapper").remove()
+
+ invitations = $el.find(".add-member-forms")
+ invitations.html(extraTextTemplate)
- title = $el.find("h2")
fieldSet = createFieldSet()
- title.after(fieldSet)
+ invitations.prepend(fieldSet)
$scope.$on "membersform:new", ->
resetForm()
@@ -91,7 +100,7 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
fieldSet.after(newFieldSet)
if $el.find(".add-member-wrapper").length == MAX_MEMBERSHIP_FIELDSETS
- $el.find("fieldset:last > a").removeClass("icon-plus add-fieldset")
+ $el.find(".add-member-wrapper fieldset:last > a").removeClass("icon-plus add-fieldset")
.addClass("icon-delete delete-fieldset")
$el.on "click", ".button-green", debounce 2000, (event) ->
@@ -112,12 +121,10 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
#checksley find new fields
form.destroy()
form.initialize()
-
if not form.validate()
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')
@@ -132,7 +139,9 @@ CreateMembersDirective = ($rs, $rootScope, $confirm, lightboxService) ->
}
if invitations.length
- $rs.memberships.bulkCreateMemberships($scope.project.id, invitations).then(onSuccess, onError)
+ invitation_extra_text = $el.find("form textarea").val()
+
+ $rs.memberships.bulkCreateMemberships($scope.project.id, invitations, invitation_extra_text).then(onSuccess, onError)
return {link: link}
diff --git a/app/coffee/modules/resources/memberships.coffee b/app/coffee/modules/resources/memberships.coffee
index de569993..6a2763b7 100644
--- a/app/coffee/modules/resources/memberships.coffee
+++ b/app/coffee/modules/resources/memberships.coffee
@@ -42,9 +42,9 @@ resourceProvider = ($repo, $http, $urls) ->
url = $urls.resolve("memberships")
return $http.post("#{url}/#{id}/resend_invitation", {})
- service.bulkCreateMemberships = (projectId, data) ->
+ service.bulkCreateMemberships = (projectId, data, invitation_extra_text) ->
url = $urls.resolve("bulk-create-memberships")
- params = {project_id: projectId, bulk_memberships: data}
+ params = {project_id: projectId, bulk_memberships: data, invitation_extra_text: invitation_extra_text}
return $http.post(url, params)
return (instance) ->
diff --git a/app/partials/views/modules/lightbox-add-member.jade b/app/partials/views/modules/lightbox-add-member.jade
index 7540b0a8..8bff3b80 100644
--- a/app/partials/views/modules/lightbox-add-member.jade
+++ b/app/partials/views/modules/lightbox-add-member.jade
@@ -4,6 +4,7 @@ form
h2.title New Member
//- Form is set in a directive
+ .add-member-forms
a.button.button-green(href="", title="Save")
span Create
diff --git a/app/styles/modules/common/lightbox.scss b/app/styles/modules/common/lightbox.scss
index 47097423..7793c182 100644
--- a/app/styles/modules/common/lightbox.scss
+++ b/app/styles/modules/common/lightbox.scss
@@ -150,16 +150,23 @@
.lightbox-add-member {
.add-member-wrapper {
@include table-flex();
- }
- fieldset {
- position: relative;
- &:first-child {
- @include table-flex-child(3, 400px);
- }
+ margin-bottom: .5rem;
&:last-child {
- @include table-flex-child(1, 200px);
- margin-left: .5rem;
+ margin-bottom: 0;
}
+ fieldset {
+ position: relative;
+ &:first-child {
+ @include table-flex-child(3, 400px);
+ }
+ &:last-child {
+ @include table-flex-child(1, 200px);
+ margin-left: .5rem;
+ }
+ }
+ }
+ .extra-text {
+ margin-top: 1rem;
}
input[type=email],
select {