Minor template improvements and fixes

- Fix back-to-motion-block-link in item detail view.
- Show projector name in window title.
- Fix sorting for motion blocks and categories in motion list view.
- Fix missing permission check for editing motion block.
- Improved style of rejected CR in motionn detail view.
This commit is contained in:
Emanuel Schütze 2018-05-13 16:14:28 +02:00
parent 8d7bcedd32
commit 682a5eea5a
8 changed files with 22 additions and 12 deletions

View File

@ -5,7 +5,7 @@
<i class="fa fa-angle-double-left fa-lg"></i> <i class="fa fa-angle-double-left fa-lg"></i>
<translate>Agenda</translate> <translate>Agenda</translate>
</a> </a>
<a ui-sref="{{ item.content_object.collection.replace('/','.') }}.detail({id: item.content_object.id})" class="btn btn-sm btn-default"> <a ui-sref="{{ item.getContentObjectDetailState() }}" class="btn btn-sm btn-default">
<i class="fa fa-angle-double-left fa-lg"></i> <i class="fa fa-angle-double-left fa-lg"></i>
{{ item.getContentResource().verboseName | translate }} {{ item.getContentResource().verboseName | translate }}
</a> </a>

View File

@ -224,7 +224,7 @@ tr.selected td {
} }
.grey { .grey {
color: #9a9898; color: gray;
} }
.info { .info {

View File

@ -82,11 +82,20 @@ angular.module('OpenSlidesApp.core.projector', ['OpenSlidesApp.core'])
'$scope', '$scope',
'Languages', 'Languages',
'Config', 'Config',
'Projector',
'ProjectorID', 'ProjectorID',
'Fonts', 'Fonts',
function ($scope, Languages, Config, ProjectorID, Fonts) { function ($scope, Languages, Config, Projector, ProjectorID, Fonts) {
// for the dynamic title // for the dynamic title
$scope.projectorId = ProjectorID(); $scope.projectorId = ProjectorID();
$scope.$watch(function () {
return Projector.lastModified($scope.projectorId);
}, function () {
var projector = Projector.get($scope.projectorId);
if (projector) {
$scope.projectorName = projector.name;
}
});
$scope.$watch(function () { $scope.$watch(function () {
return Config.lastModified('projector_language'); return Config.lastModified('projector_language');

View File

@ -3,8 +3,8 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<base href="/"> <base href="/">
<title ng-if="projectorId===undefined">OpenSlides &ndash; Projector</title> <!-- avoid {{ ... }} in title while angular is not loaded --> <title ng-if="projectorId===undefined">Projector &ndash; OpenSlides</title> <!-- avoid {{ ... }} in title while angular is not loaded -->
<title ng-if="projectorId!==undefined">OpenSlides &ndash; {{ 'Projector' | translate }} {{ projectorId }}</title> <title ng-if="projectorId!==undefined">{{ 'Projector' | translate }} {{ projectorName }} &ndash; OpenSlides</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="static/css/openslides-libs.css"> <link rel="stylesheet" href="static/css/openslides-libs.css">
<link rel="stylesheet" href="static/css/openslides-projector.css"> <link rel="stylesheet" href="static/css/openslides-projector.css">

View File

@ -1237,7 +1237,7 @@ angular.module('OpenSlidesApp.motions.site', [
display_name: gettext('Title')}, display_name: gettext('Title')},
{name: 'submitters[0].get_short_name()', {name: 'submitters[0].get_short_name()',
display_name: gettext('Submitters')}, display_name: gettext('Submitters')},
{name: 'category.name', {name: 'category.' + Config.get('motions_export_category_sorting').value,
display_name: gettext('Category')}, display_name: gettext('Category')},
{name: 'motionBlock.title', {name: 'motionBlock.title',
display_name: gettext('Motion block')}, display_name: gettext('Motion block')},

View File

@ -15,6 +15,7 @@
</projector-button> </projector-button>
<!-- edit --> <!-- edit -->
<a ng-click="openDialog(motionBlock)" <a ng-click="openDialog(motionBlock)"
os-perms="motions.can_manage"
class="btn btn-default btn-sm" class="btn btn-default btn-sm"
title="{{ 'Edit' | translate}}"> title="{{ 'Edit' | translate}}">
<i class="fa fa-pencil"></i> <i class="fa fa-pencil"></i>

View File

@ -35,7 +35,7 @@
</button> </button>
</div> </div>
<div class="status-row" ng-if="!motion.isAllowed('can_manage') && title_change_recommendation.rejected"> <div class="status-row" ng-if="!motion.isAllowed('can_manage') && title_change_recommendation.rejected">
<translate>Rejected</translate> <i class="grey"><translate>Rejected</translate>:</i>
</div> </div>
<div class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}"> <div class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}">
@ -81,7 +81,7 @@
</button> </button>
</div> </div>
<div class="status-row" ng-if="!motion.isAllowed('can_manage') && change.rejected"> <div class="status-row" ng-if="!motion.isAllowed('can_manage') && change.rejected">
<translate>Rejected</translate> <i class="grey"><translate>Rejected</translate>:</i>
</div> </div>
<div class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}" <div class="motion-text motion-text-diff line-numbers-{{ lineNumberMode }}"

View File

@ -100,7 +100,7 @@
<!-- motionBlock select --> <!-- motionBlock select -->
<select ng-show="selectedAction == 'setMotionBlock'" ng-model="selectedMotionBlock" class="form-control input-sm"> <select ng-show="selectedAction == 'setMotionBlock'" ng-model="selectedMotionBlock" class="form-control input-sm">
<option value="" translate>--- Select motion block ---</option> <option value="" translate>--- Select motion block ---</option>
<option ng-repeat="motionBlock in motionBlocks" value="{{ motionBlock.id }}"> <option ng-repeat="motionBlock in motionBlocks | orderBy: 'title'" value="{{ motionBlock.id }}">
{{ motionBlock.title }} {{ motionBlock.title }}
</option> </option>
<option value="no_motionBlock_selected" translate>No motion block</option> <option value="no_motionBlock_selected" translate>No motion block</option>
@ -246,7 +246,7 @@
<span class="caret"></span> <span class="caret"></span>
</span> </span>
<ul class="dropdown-menu dropdown-menu-left" aria-labelledby="dropdownBlock"> <ul class="dropdown-menu dropdown-menu-left" aria-labelledby="dropdownBlock">
<li ng-repeat="block in motionBlocks"> <li ng-repeat="block in motionBlocks | orderBy: 'title'">
<a href ng-click="filter.operateMultiselectFilter('motionBlock', block.id, isSelectMode)"> <a href ng-click="filter.operateMultiselectFilter('motionBlock', block.id, isSelectMode)">
<i class="fa fa-check" ng-if="filter.multiselectFilters.motionBlock.indexOf(block.id) > -1"></i> <i class="fa fa-check" ng-if="filter.multiselectFilters.motionBlock.indexOf(block.id) > -1"></i>
{{ block.title }} {{ block.title }}
@ -454,7 +454,7 @@
<translate>No category set</translate> <translate>No category set</translate>
</span> </span>
<!-- motion block --> <!-- motion block -->
<span ng-repeat="motionBlock in motionBlocks" class="pointer spacer-left-lg" <span ng-repeat="motionBlock in motionBlocks | orderBy: 'title'" class="pointer spacer-left-lg"
ng-if="filter.multiselectFilters.motionBlock.indexOf(motionBlock.id) > -1" ng-if="filter.multiselectFilters.motionBlock.indexOf(motionBlock.id) > -1"
ng-click="filter.operateMultiselectFilter('motionBlock', motionBlock.id, isSelectMode)" ng-click="filter.operateMultiselectFilter('motionBlock', motionBlock.id, isSelectMode)"
ng-class="{'disabled': isSelectMode}"> ng-class="{'disabled': isSelectMode}">
@ -707,7 +707,7 @@
</span> </span>
</span> </span>
<ul class="dropdown-menu" aria-labelledby="dropdownMotionBlock{{ motion.id }}"> <ul class="dropdown-menu" aria-labelledby="dropdownMotionBlock{{ motion.id }}">
<li ng-repeat="motionBlock in motionBlocks"> <li ng-repeat="motionBlock in motionBlocks | orderBy: 'title'">
<a href ng-click="toggleMotionBlock(motion, motionBlock)"> <a href ng-click="toggleMotionBlock(motion, motionBlock)">
<i class="fa fa-check" ng-if="motionBlock.id == motion.motionBlock.id"></i> <i class="fa fa-check" ng-if="motionBlock.id == motion.motionBlock.id"></i>
{{ motionBlock.title }} {{ motionBlock.title }}