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 {