From 7bc1851a09b5ca897907f8fbca9481faa7440dee Mon Sep 17 00:00:00 2001 From: Emanuel Schuetze Date: Thu, 21 Jan 2016 23:20:14 +0100 Subject: [PATCH] Use osFilter for motions, assignments and mediafiles. (Fixes #1784) --- .../assignments/static/js/assignments/site.js | 17 +++++++++++++++-- .../templates/assignments/assignment-list.html | 2 +- .../mediafiles/static/js/mediafiles/site.js | 9 +++++++++ .../templates/mediafiles/mediafile-list.html | 2 +- openslides/motions/static/js/motions/site.js | 8 +++++++- 5 files changed, 33 insertions(+), 5 deletions(-) diff --git a/openslides/assignments/static/js/assignments/site.js b/openslides/assignments/static/js/assignments/site.js index 8de66d471..63c3383ec 100644 --- a/openslides/assignments/static/js/assignments/site.js +++ b/openslides/assignments/static/js/assignments/site.js @@ -38,7 +38,10 @@ angular.module('OpenSlidesApp.assignments.site', ['OpenSlidesApp.assignments']) }, phases: function(Assignment) { return Assignment.getPhases(); - } + }, + users: function(User) { + return User.findAll(); + }, } }) .state('assignments.assignment.detail', { @@ -159,12 +162,22 @@ angular.module('OpenSlidesApp.assignments.site', ['OpenSlidesApp.assignments']) $scope.filterPresent = ''; $scope.reverse = false; // function to sort by clicked column - $scope.toggleSort = function ( column ) { + $scope.toggleSort = function (column) { if ( $scope.sortColumn === column ) { $scope.reverse = !$scope.reverse; } $scope.sortColumn = column; }; + // define custom search filter string + $scope.getFilterString = function (assignment) { + return [ + assignment.title, + assignment.description, + $scope.phases[assignment.phase].display_name, + _.map(assignment.assignment_related_users, + function (candidate) {return candidate.user.get_short_name()}).join(" "), + ].join(" "); + } // open new/edit dialog $scope.openDialog = function (assignment) { diff --git a/openslides/assignments/static/templates/assignments/assignment-list.html b/openslides/assignments/static/templates/assignments/assignment-list.html index bb5ad32e9..9846e1106 100644 --- a/openslides/assignments/static/templates/assignments/assignment-list.html +++ b/openslides/assignments/static/templates/assignments/assignment-list.html @@ -99,7 +99,7 @@ ng-class="reverse ? 'fa-sort-desc' : 'fa-sort-asc'"> - diff --git a/openslides/mediafiles/static/js/mediafiles/site.js b/openslides/mediafiles/static/js/mediafiles/site.js index bc55831f4..781301bf5 100644 --- a/openslides/mediafiles/static/js/mediafiles/site.js +++ b/openslides/mediafiles/static/js/mediafiles/site.js @@ -79,6 +79,15 @@ angular.module('OpenSlidesApp.mediafiles.site', ['ngFileUpload', 'OpenSlidesApp. } $scope.sortColumn = column; }; + // define custom search filter string + $scope.getFilterString = function (mediafile) { + return [ + mediafile.title, + mediafile.mediafile.type, + mediafile.mediafile.name, + mediafile.uploader.get_short_name() + ].join(" "); + } // delete $scope.delete = function (mediafile) { diff --git a/openslides/mediafiles/static/templates/mediafiles/mediafile-list.html b/openslides/mediafiles/static/templates/mediafiles/mediafile-list.html index 18084ade6..a95643ea7 100644 --- a/openslides/mediafiles/static/templates/mediafiles/mediafile-list.html +++ b/openslides/mediafiles/static/templates/mediafiles/mediafile-list.html @@ -51,7 +51,7 @@ - {{ mediafile.title_or_filename }} {{ mediafile.mediafile.type }} diff --git a/openslides/motions/static/js/motions/site.js b/openslides/motions/static/js/motions/site.js index 4a43cff12..2c1c4c79e 100644 --- a/openslides/motions/static/js/motions/site.js +++ b/openslides/motions/static/js/motions/site.js @@ -399,6 +399,7 @@ angular.module('OpenSlidesApp.motions.site', ['OpenSlidesApp.motions']) } $scope.sortColumn = column; }; + // define custom search filter string $scope.getFilterString = function (motion) { if (motion.category) { var category = motion.category.name; @@ -406,10 +407,15 @@ angular.module('OpenSlidesApp.motions.site', ['OpenSlidesApp.motions']) var category = '' } return [ + motion.identifier, motion.getTitle(), motion.getText(), + motion.getReason(), _.map(motion.submitters, function (submitter) {return submitter.get_short_name()}).join(" "), - category].join(" "); + _.map(motion.supporters, function (supporter) {return supporter.get_short_name()}).join(" "), + _.map(motion.tags, function (tag) {return tag.name}).join(" "), + category + ].join(" "); } // collect all states of all workflows