diff --git a/openslides/assignments/static/js/assignments/base.js b/openslides/assignments/static/js/assignments/base.js index bfb11841f..a40613ba6 100644 --- a/openslides/assignments/static/js/assignments/base.js +++ b/openslides/assignments/static/js/assignments/base.js @@ -67,17 +67,26 @@ angular.module('OpenSlidesApp.assignments', []) ]) .factory('Assignment', [ + '$http', 'DS', 'AssignmentRelatedUser', 'AssignmentPoll', 'jsDataModel', 'gettext', - function (DS, AssignmentRelatedUser, AssignmentPoll, jsDataModel, gettext) { + function ($http, DS, AssignmentRelatedUser, AssignmentPoll, jsDataModel, gettext) { var name = 'assignments/assignment'; + var phases; return DS.defineResource({ name: name, useClass: jsDataModel, agendaSupplement: gettext('Election'), + phases: phases, + getPhases: function () { + if (!this.phases) { + this.phases = $http({ 'method': 'OPTIONS', 'url': '/rest/assignments/assignment/' }); + } + return phases; + }, methods: { getResourceName: function () { return name; diff --git a/openslides/assignments/static/js/assignments/site.js b/openslides/assignments/static/js/assignments/site.js index 7b14328df..bcfb23b63 100644 --- a/openslides/assignments/static/js/assignments/site.js +++ b/openslides/assignments/static/js/assignments/site.js @@ -34,8 +34,8 @@ angular.module('OpenSlidesApp.assignments.site', ['OpenSlidesApp.assignments']) assignments: function(Assignment) { return Assignment.findAll(); }, - phases: function($http) { - return $http({ 'method': 'OPTIONS', 'url': '/rest/assignments/assignment/' }); + phases: function(Assignment) { + return Assignment.getPhases(); } } })