Fix create-epic lightbox
parent
99e04c369f
commit
14e53ec76b
|
@ -52,14 +52,15 @@ class CreateEpicController
|
||||||
|
|
||||||
@.loading = true
|
@.loading = true
|
||||||
|
|
||||||
@epicsService.createEpic(@.epic, @.attachments)
|
@epicsService.createEpic(@.newEpic, @.attachments)
|
||||||
.then (response) => # On success
|
.then (response) => # On success
|
||||||
@.onCreateEpic()
|
@.onCreateEpic()
|
||||||
.then null, (response) => # On error
|
@.loading = false
|
||||||
|
.catch (response) => # On error
|
||||||
|
@.loading = false
|
||||||
@.setFormErrors(response.data)
|
@.setFormErrors(response.data)
|
||||||
if response.data._error_message
|
if response.data._error_message
|
||||||
@confirm.notify("error", response.data._error_message)
|
@confirm.notify("error", response.data._error_message)
|
||||||
@.loading = false
|
|
||||||
|
|
||||||
# Color selector
|
# Color selector
|
||||||
selectColor: (color) ->
|
selectColor: (color) ->
|
||||||
|
|
|
@ -54,13 +54,16 @@ class EpicsDashboardController
|
||||||
return @projectService.hasPermission("add_epic")
|
return @projectService.hasPermission("add_epic")
|
||||||
|
|
||||||
onCreateEpic: () ->
|
onCreateEpic: () ->
|
||||||
|
onCreateEpic = () =>
|
||||||
|
@lightboxService.closeAll()
|
||||||
|
@confirm.notify("success")
|
||||||
|
return # To prevent error https://docs.angularjs.org/error/$parse/isecdom?p0=onCreateEpic()
|
||||||
|
|
||||||
@lightboxFactory.create('tg-create-epic', {
|
@lightboxFactory.create('tg-create-epic', {
|
||||||
"class": "lightbox lightbox-create-epic open"
|
"class": "lightbox lightbox-create-epic open"
|
||||||
"on-create-epic": "onCreateEpic()"
|
"on-create-epic": "onCreateEpic()"
|
||||||
}, {
|
}, {
|
||||||
"onCreateEpic": () =>
|
"onCreateEpic": onCreateEpic.bind(this)
|
||||||
@lightboxService.closeAll()
|
|
||||||
@confirm.notify("success")
|
|
||||||
})
|
})
|
||||||
|
|
||||||
angular.module("taigaEpics").controller("EpicsDashboardCtrl", EpicsDashboardController)
|
angular.module("taigaEpics").controller("EpicsDashboardCtrl", EpicsDashboardController)
|
||||||
|
|
|
@ -21,22 +21,22 @@ taiga = @.taiga
|
||||||
|
|
||||||
class EpicsService
|
class EpicsService
|
||||||
@.$inject = [
|
@.$inject = [
|
||||||
"tgProjectService",
|
'tgProjectService',
|
||||||
"tgAttachmentsService"
|
'tgAttachmentsService'
|
||||||
"tgResources",
|
'tgResources',
|
||||||
"tgXhrErrorService",
|
'tgXhrErrorService',
|
||||||
"$q"
|
'$q'
|
||||||
]
|
]
|
||||||
|
|
||||||
constructor: (@projectService, @attachmentsService, @resources, @xhrError, @q) ->
|
constructor: (@projectService, @attachmentsService, @resources, @xhrError, @q) ->
|
||||||
@._epics = Immutable.List()
|
@._epics = Immutable.List()
|
||||||
taiga.defineImmutableProperty @, "epics", () => return @._epics
|
taiga.defineImmutableProperty @, 'epics', () => return @._epics
|
||||||
|
|
||||||
clear: () ->
|
clear: () ->
|
||||||
@._epics = Immutable.List()
|
@._epics = Immutable.List()
|
||||||
|
|
||||||
fetchEpics: () ->
|
fetchEpics: () ->
|
||||||
return @resources.epics.list(@projectService.project.get("id"))
|
return @resources.epics.list(@projectService.project.get('id'))
|
||||||
.then (epics) =>
|
.then (epics) =>
|
||||||
@._epics = epics
|
@._epics = epics
|
||||||
.catch (xhr) =>
|
.catch (xhr) =>
|
||||||
|
@ -46,54 +46,54 @@ class EpicsService
|
||||||
return @resources.userstories.listInEpic(epic.get('id'))
|
return @resources.userstories.listInEpic(epic.get('id'))
|
||||||
|
|
||||||
createEpic: (epicData, attachments) ->
|
createEpic: (epicData, attachments) ->
|
||||||
@.epicData.project = @projectsService.project.id
|
epicData.project = @projectService.project.get('id')
|
||||||
|
|
||||||
return @resources.epics.post(@.epicData)
|
return @resources.epics.post(epicData)
|
||||||
.then (epic) =>
|
.then (epic) =>
|
||||||
promises = _.map attachments.toJS(), (attachment) =>
|
promises = _.map attachments.toJS(), (attachment) =>
|
||||||
@attachmentsService.upload(attachment.file, epic.get("id"), epic.get("project"), 'epic')
|
@attachmentsService.upload(attachment.file, epic.get('id'), epic.get('project'), 'epic')
|
||||||
@q.all(promises).then () =>
|
@q.all(promises).then () =>
|
||||||
@.fetchEpics()
|
@.fetchEpics()
|
||||||
|
|
||||||
reorderEpic: (epic, newIndex) ->
|
reorderEpic: (epic, newIndex) ->
|
||||||
withoutMoved = @.epics.filter (it) => it.get("id") != epic.get("id")
|
withoutMoved = @.epics.filter (it) => it.get('id') != epic.get('id')
|
||||||
beforeDestination = withoutMoved.slice(0, newIndex)
|
beforeDestination = withoutMoved.slice(0, newIndex)
|
||||||
|
|
||||||
previous = beforeDestination.last()
|
previous = beforeDestination.last()
|
||||||
newOrder = if !previous then 0 else epic.get("epics_order") + 1
|
newOrder = if !previous then 0 else epic.get('epics_order') + 1
|
||||||
|
|
||||||
previousWithTheSameOrder = beforeDestination.filter (it) =>
|
previousWithTheSameOrder = beforeDestination.filter (it) =>
|
||||||
it.get("epics_order") == previous.get("epics_order")
|
it.get('epics_order') == previous.get('epics_order')
|
||||||
setOrders = Immutable.OrderedMap previousWithTheSameOrder.map (it) =>
|
setOrders = Immutable.OrderedMap previousWithTheSameOrder.map (it) =>
|
||||||
[it.get('id'), it.get("epics_order")]
|
[it.get('id'), it.get('epics_order')]
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
order: newOrder,
|
order: newOrder,
|
||||||
version: epic.get("version")
|
version: epic.get('version')
|
||||||
}
|
}
|
||||||
|
|
||||||
return @resources.epics.reorder(epic.get("id"), data, setOrders)
|
return @resources.epics.reorder(epic.get('id'), data, setOrders)
|
||||||
.then () =>
|
.then () =>
|
||||||
@.fetchEpics()
|
@.fetchEpics()
|
||||||
|
|
||||||
updateEpicStatus: (epic, statusId) ->
|
updateEpicStatus: (epic, statusId) ->
|
||||||
data = {
|
data = {
|
||||||
status: statusId,
|
status: statusId,
|
||||||
version: epic.get("version")
|
version: epic.get('version')
|
||||||
}
|
}
|
||||||
|
|
||||||
return @resources.epics.patch(epic.get("id"), data)
|
return @resources.epics.patch(epic.get('id'), data)
|
||||||
.then () =>
|
.then () =>
|
||||||
@.fetchEpics()
|
@.fetchEpics()
|
||||||
|
|
||||||
updateEpicAssignedTo: (epic, userId) ->
|
updateEpicAssignedTo: (epic, userId) ->
|
||||||
data = {
|
data = {
|
||||||
assigned_to: userId,
|
assigned_to: userId,
|
||||||
version: epic.get("version")
|
version: epic.get('version')
|
||||||
}
|
}
|
||||||
|
|
||||||
return @resources.epics.patch(epic.get("id"), data)
|
return @resources.epics.patch(epic.get('id'), data)
|
||||||
.then () =>
|
.then () =>
|
||||||
@.fetchEpics()
|
@.fetchEpics()
|
||||||
|
|
||||||
angular.module("taigaEpics").service("tgEpicsService", EpicsService)
|
angular.module('taigaEpics').service('tgEpicsService', EpicsService)
|
||||||
|
|
Loading…
Reference in New Issue