diff --git a/app/collections/PatchesCollection.coffee b/app/collections/PatchesCollection.coffee index cb03c3486..950baac4f 100644 --- a/app/collections/PatchesCollection.coffee +++ b/app/collections/PatchesCollection.coffee @@ -6,4 +6,5 @@ module.exports = class PatchesCollection extends CocoCollection initialize: (models, options, forModel, @status='pending') -> super(arguments...) - @url = "#{forModel.urlRoot}/#{forModel.get('original')}/patches?status=#{@status}" + identifier = if not forModel.get('original') then '_id' else 'original' + @url = "#{forModel.urlRoot}/#{forModel.get(identifier)}/patches?status=#{@status}" diff --git a/app/templates/editor/achievement/edit.jade b/app/templates/editor/achievement/edit.jade index 8e811b30c..b99266e31 100644 --- a/app/templates/editor/achievement/edit.jade +++ b/app/templates/editor/achievement/edit.jade @@ -23,6 +23,9 @@ block content #achievement-view.clearfix + h3(data-i18n="resources.patches") Patches + .patches-view + hr else diff --git a/app/views/editor/achievement/AchievementEditView.coffee b/app/views/editor/achievement/AchievementEditView.coffee index 8fbe6abf5..ea23dce5d 100644 --- a/app/views/editor/achievement/AchievementEditView.coffee +++ b/app/views/editor/achievement/AchievementEditView.coffee @@ -3,6 +3,7 @@ template = require 'templates/editor/achievement/edit' Achievement = require 'models/Achievement' AchievementPopup = require 'views/core/AchievementPopup' ConfirmModal = require 'views/editor/modal/ConfirmModal' +PatchesView = require 'views/editor/PatchesView' errors = require 'core/errors' app = require 'core/application' nodes = require 'views/editor/level/treema_nodes' @@ -57,6 +58,8 @@ module.exports = class AchievementEditView extends RootView super() return unless @supermodel.finished() @pushChangesToPreview() + @patchesView = @insertSubView(new PatchesView(@achievement), @$el.find('.patches-view')) + @patchesView.load() pushChangesToPreview: => return unless @treema diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index e296fb033..b71d3b737 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -255,7 +255,12 @@ module.exports = class Handler res.end() getPatchesFor: (req, res, id) -> - query = { 'target.original': mongoose.Types.ObjectId(id), status: req.query.status or 'pending' } + query = + $or: [ + {'target.original': id+''} + {'target.original': mongoose.Types.ObjectId(id)} + ] + status: req.query.status or 'pending' Patch.find(query).sort('-created').exec (err, patches) => return @sendDatabaseError(res, err) if err patches = (patch.toObject() for patch in patches)