US #55: Custom fields - Fix history of custom attributes values in detail pages
parent
910dac75b7
commit
82659f4809
|
@ -59,6 +59,8 @@ class CustomAttributesValuesController extends taiga.Controller
|
||||||
|
|
||||||
updateAttributeValue: (attributeValue) ->
|
updateAttributeValue: (attributeValue) ->
|
||||||
onSuccess = =>
|
onSuccess = =>
|
||||||
|
@rootscope.$broadcast("custom-attributes-values:edit")
|
||||||
|
|
||||||
onError = (response) =>
|
onError = (response) =>
|
||||||
@confirm.notify("error")
|
@confirm.notify("error")
|
||||||
return @q.reject()
|
return @q.reject()
|
||||||
|
|
|
@ -173,6 +173,34 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm) ->
|
||||||
|
|
||||||
return _.flatten(attachments).join("\n")
|
return _.flatten(attachments).join("\n")
|
||||||
|
|
||||||
|
renderCustomAttributesEntry = (value) ->
|
||||||
|
customAttributes = _.map value, (changes, type) ->
|
||||||
|
if type == "new"
|
||||||
|
return _.map changes, (change) ->
|
||||||
|
return templateChangeGeneric({
|
||||||
|
name: change.name,
|
||||||
|
from: formatChange(""),
|
||||||
|
to: formatChange(change.value)
|
||||||
|
})
|
||||||
|
else if type == "deleted"
|
||||||
|
return _.map changes, (change) ->
|
||||||
|
# TODO: i18n
|
||||||
|
return templateChangeDiff({
|
||||||
|
name: "deleted custom attribute",
|
||||||
|
diff: change.name
|
||||||
|
})
|
||||||
|
else
|
||||||
|
return _.map changes, (change) ->
|
||||||
|
customAttrsChanges = _.map change.changes, (values) ->
|
||||||
|
return templateChangeGeneric({
|
||||||
|
name: change.name
|
||||||
|
from: formatChange(values[0])
|
||||||
|
to: formatChange(values[1])
|
||||||
|
})
|
||||||
|
return _.flatten(customAttrsChanges).join("\n")
|
||||||
|
|
||||||
|
return _.flatten(customAttributes).join("\n")
|
||||||
|
|
||||||
renderChangeEntry = (field, value) ->
|
renderChangeEntry = (field, value) ->
|
||||||
if field == "description"
|
if field == "description"
|
||||||
return templateChangeDiff({name: getHumanizedFieldName("description"), diff: value[1]})
|
return templateChangeDiff({name: getHumanizedFieldName("description"), diff: value[1]})
|
||||||
|
@ -182,6 +210,8 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm) ->
|
||||||
return templateChangePoints({points: value})
|
return templateChangePoints({points: value})
|
||||||
else if field == "attachments"
|
else if field == "attachments"
|
||||||
return renderAttachmentEntry(value)
|
return renderAttachmentEntry(value)
|
||||||
|
else if field == "custom_attributes"
|
||||||
|
return renderCustomAttributesEntry(value)
|
||||||
else if field in ["tags", "watchers"]
|
else if field in ["tags", "watchers"]
|
||||||
name = getHumanizedFieldName(field)
|
name = getHumanizedFieldName(field)
|
||||||
removed = _.difference(value[0], value[1])
|
removed = _.difference(value[0], value[1])
|
||||||
|
|
|
@ -85,6 +85,9 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
@rootscope.$broadcast("history:reload")
|
@rootscope.$broadcast("history:reload")
|
||||||
@.loadIssue()
|
@.loadIssue()
|
||||||
|
|
||||||
|
@scope.$on "custom-attributes-values:edit", =>
|
||||||
|
@rootscope.$broadcast("history:reload")
|
||||||
|
|
||||||
initializeOnDeleteGoToUrl: ->
|
initializeOnDeleteGoToUrl: ->
|
||||||
ctx = {project: @scope.project.slug}
|
ctx = {project: @scope.project.slug}
|
||||||
if @scope.project.is_issues_activated
|
if @scope.project.is_issues_activated
|
||||||
|
|
|
@ -71,6 +71,8 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
@rootscope.$broadcast("history:reload")
|
@rootscope.$broadcast("history:reload")
|
||||||
@scope.$on "attachment:delete", =>
|
@scope.$on "attachment:delete", =>
|
||||||
@rootscope.$broadcast("history:reload")
|
@rootscope.$broadcast("history:reload")
|
||||||
|
@scope.$on "custom-attributes-values:edit", =>
|
||||||
|
@rootscope.$broadcast("history:reload")
|
||||||
|
|
||||||
initializeOnDeleteGoToUrl: ->
|
initializeOnDeleteGoToUrl: ->
|
||||||
ctx = {project: @scope.project.slug}
|
ctx = {project: @scope.project.slug}
|
||||||
|
|
|
@ -80,6 +80,9 @@ class UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
@scope.$on "attachment:delete", =>
|
@scope.$on "attachment:delete", =>
|
||||||
@rootscope.$broadcast("history:reload")
|
@rootscope.$broadcast("history:reload")
|
||||||
|
|
||||||
|
@scope.$on "custom-attributes-values:edit", =>
|
||||||
|
@rootscope.$broadcast("history:reload")
|
||||||
|
|
||||||
initializeOnDeleteGoToUrl: ->
|
initializeOnDeleteGoToUrl: ->
|
||||||
ctx = {project: @scope.project.slug}
|
ctx = {project: @scope.project.slug}
|
||||||
@scope.onDeleteGoToUrl = @navUrls.resolve("project", ctx)
|
@scope.onDeleteGoToUrl = @navUrls.resolve("project", ctx)
|
||||||
|
|
Loading…
Reference in New Issue