Merge pull request #2982 from emanuelschuetze/recommendation-config
Added new config for default change recommendation view.
This commit is contained in:
commit
56420aa0f5
@ -108,6 +108,20 @@ def get_config_variables():
|
||||
subgroup='General',
|
||||
translatable=True)
|
||||
|
||||
yield ConfigVariable(
|
||||
name='motions_recommendation_text_mode',
|
||||
default_value='original',
|
||||
input_type='choice',
|
||||
label='Default text version for change recommendations',
|
||||
choices=(
|
||||
{'value': 'original', 'display_name': 'Original version'},
|
||||
{'value': 'changed', 'display_name': 'Changed version'},
|
||||
{'value': 'diff', 'display_name': 'Diff version'},
|
||||
{'value': 'agreed', 'display_name': 'Final version'}),
|
||||
weight=333,
|
||||
group='Motions',
|
||||
subgroup='General')
|
||||
|
||||
# Amendments
|
||||
yield ConfigVariable(
|
||||
name='motions_amendments_enabled',
|
||||
|
@ -532,7 +532,7 @@ angular.module('OpenSlidesApp.motions.pdf', ['OpenSlidesApp.core.pdf'])
|
||||
}
|
||||
};
|
||||
|
||||
// returns the pure content of the motion, parseable by makepdf
|
||||
// returns the pure content of the motion, parseable by pdfmake
|
||||
var getContent = function() {
|
||||
var motionContent = [];
|
||||
angular.forEach(allMotions, function(motion, key) {
|
||||
|
@ -640,11 +640,13 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
'MotionForm',
|
||||
'Motion',
|
||||
'Category',
|
||||
'Config',
|
||||
'Tag',
|
||||
'Workflow',
|
||||
'User',
|
||||
'Agenda',
|
||||
'MotionBlock',
|
||||
'MotionChangeRecommendation',
|
||||
'MotionCsvExport',
|
||||
'MotionDocxExport',
|
||||
'MotionContentProvider',
|
||||
@ -658,9 +660,10 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
'osTableSort',
|
||||
'PdfCreate',
|
||||
function($scope, $state, $http, gettext, gettextCatalog, ngDialog, MotionForm, Motion,
|
||||
Category, Tag, Workflow, User, Agenda, MotionBlock, MotionCsvExport, MotionDocxExport,
|
||||
MotionContentProvider, MotionCatalogContentProvider, PdfMakeConverter, PdfMakeDocumentProvider,
|
||||
HTMLValidizer, Projector, ProjectionDefault, osTableFilter, osTableSort, PdfCreate) {
|
||||
Category, Config, Tag, Workflow, User, Agenda, MotionBlock, MotionChangeRecommendation,
|
||||
MotionCsvExport, MotionDocxExport, MotionContentProvider, MotionCatalogContentProvider,
|
||||
PdfMakeConverter, PdfMakeDocumentProvider, HTMLValidizer, Projector, ProjectionDefault,
|
||||
osTableFilter, osTableSort, PdfCreate) {
|
||||
Motion.bindAll({}, $scope, 'motions');
|
||||
Category.bindAll({}, $scope, 'categories');
|
||||
MotionBlock.bindAll({}, $scope, 'motionBlocks');
|
||||
@ -864,10 +867,17 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
$scope.pdfExport = function() {
|
||||
var filename = gettextCatalog.getString("Motions") + ".pdf";
|
||||
var image_sources = [];
|
||||
$scope.viewChangeRecommendations = {};
|
||||
$scope.viewChangeRecommendations.mode = Config.get('motions_recommendation_text_mode').value;
|
||||
$scope.lineNumberMode = Config.get('motions_default_line_numbering').value;
|
||||
|
||||
//save the arrays of the filtered motions to an array
|
||||
angular.forEach($scope.motionsFiltered, function (motion) {
|
||||
var content = HTMLValidizer.validize(motion.getText($scope.version)) + HTMLValidizer.validize(motion.getReason($scope.version));
|
||||
$scope.change_recommendations = MotionChangeRecommendation.filter({
|
||||
'where': {'motion_version_id': {'==': motion.active_version}}
|
||||
});
|
||||
var text = motion.getTextByMode($scope.viewChangeRecommendations.mode, null);
|
||||
var content = HTMLValidizer.validize(text) + HTMLValidizer.validize(motion.getReason());
|
||||
var map = Function.prototype.call.bind([].map);
|
||||
var tmp_image_sources = map($(content).find("img"), function(element) {
|
||||
return element.getAttribute("src");
|
||||
@ -1025,7 +1035,7 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
{mode: 'diff',
|
||||
label: 'Diff version'},
|
||||
{mode: 'agreed',
|
||||
label: 'Resolution'},
|
||||
label: 'Final version'},
|
||||
];
|
||||
$scope.projectionMode = $scope.projectionModes[0];
|
||||
if (motion.isProjected().length) {
|
||||
@ -1248,7 +1258,7 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
|
||||
// Change recommendation viewing
|
||||
$scope.viewChangeRecommendations = ChangeRecommmendationView;
|
||||
$scope.viewChangeRecommendations.init($scope, 'original');
|
||||
$scope.viewChangeRecommendations.init($scope, Config.get('motions_recommendation_text_mode').value);
|
||||
|
||||
// PDF creating functions
|
||||
$scope.pdfExport = MotionPDFExport;
|
||||
@ -1906,6 +1916,7 @@ angular.module('OpenSlidesApp.motions.site', [
|
||||
gettext('Stop submitting new motions by non-staff users');
|
||||
gettext('Allow to disable versioning');
|
||||
gettext('Name of recommender');
|
||||
gettext('Default text version for change recommendations');
|
||||
gettext('Will be displayed as label before selected recommendation. Use an empty value to disable the recommendation system.');
|
||||
|
||||
// subgroup Amendments
|
||||
|
@ -33,7 +33,7 @@
|
||||
<a href="" ng-click="setProjectionMode(mode); $event.stopPropagation();">
|
||||
<i class="fa" ng-class="mode.mode == $parent.projectionMode.mode ? 'fa-check-square-o' : 'fa-square-o'"></i>
|
||||
<span ng-if="mode.mode!='agreed'">{{ mode.label | translate }}</span>
|
||||
<span ng-if="mode.mode=='agreed'"><translate translate-context="decision making">Resolution</translate></span>
|
||||
<span ng-if="mode.mode=='agreed'"><translate translate-context="resolution">Final version</translate></span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="divider" ng-show="projectors.length > 1 && change_recommendations.length > 0"></li>
|
||||
|
@ -108,7 +108,7 @@
|
||||
<input type="radio" name="viewChangeRecommendations.mode" value="agreed"
|
||||
ng-model="viewChangeRecommendations.mode"
|
||||
ng-checked="viewChangeRecommendations.mode == 'agreed'">
|
||||
<translate translate-context="decision making">Resolution</translate>
|
||||
<translate translate-context="resolution">Final version</translate>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user