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:
parent
8d7bcedd32
commit
682a5eea5a
@ -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>
|
||||||
|
@ -224,7 +224,7 @@ tr.selected td {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.grey {
|
.grey {
|
||||||
color: #9a9898;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info {
|
.info {
|
||||||
|
@ -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');
|
||||||
|
@ -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 – Projector</title> <!-- avoid {{ ... }} in title while angular is not loaded -->
|
<title ng-if="projectorId===undefined">Projector – OpenSlides</title> <!-- avoid {{ ... }} in title while angular is not loaded -->
|
||||||
<title ng-if="projectorId!==undefined">OpenSlides – {{ 'Projector' | translate }} {{ projectorId }}</title>
|
<title ng-if="projectorId!==undefined">{{ 'Projector' | translate }} {{ projectorName }} – 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">
|
||||||
|
@ -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')},
|
||||||
|
@ -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>
|
||||||
|
@ -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 }}"
|
||||||
|
@ -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 }}
|
||||||
|
Loading…
Reference in New Issue
Block a user