Rename first/last name to given name/surname (Fixes #2564).

This commit is contained in:
Emanuel Schütze 2016-12-07 19:49:25 +01:00
parent 4e5adb74e3
commit 8bd03bafdb
5 changed files with 18 additions and 18 deletions

View File

@ -15,8 +15,8 @@ def get_config_variables():
input_type='choice', input_type='choice',
label='Sort name of participants by', label='Sort name of participants by',
choices=( choices=(
{'value': 'first_name', 'display_name': 'First name'}, {'value': 'first_name', 'display_name': 'Given name'},
{'value': 'last_name', 'display_name': 'Last name'}), {'value': 'last_name', 'display_name': 'Surname'}),
weight=510, weight=510,
group='Participants', group='Participants',
subgroup='General') subgroup='General')

View File

@ -56,7 +56,7 @@ class UserFullSerializer(ModelSerializer):
username if it is empty. username if it is empty.
""" """
if not (data.get('username') or data.get('first_name') or data.get('last_name')): if not (data.get('username') or data.get('first_name') or data.get('last_name')):
raise ValidationError({'detail': _('Username, first name and last name can not all be empty.')}) raise ValidationError({'detail': _('Username, given name and surname can not all be empty.')})
# Generate username. But only if it is not set and the serializer is not # Generate username. But only if it is not set and the serializer is not
# called in a PATCH context (partial_update). # called in a PATCH context (partial_update).

View File

@ -318,7 +318,7 @@ angular.module('OpenSlidesApp.users.site', [
type: 'input', type: 'input',
className: "col-xs-5 no-padding", className: "col-xs-5 no-padding",
templateOptions: { templateOptions: {
label: gettextCatalog.getString('First name') label: gettextCatalog.getString('Given name')
} }
}, },
{ {
@ -326,7 +326,7 @@ angular.module('OpenSlidesApp.users.site', [
type: 'input', type: 'input',
className: "col-xs-5 no-padding-right", className: "col-xs-5 no-padding-right",
templateOptions: { templateOptions: {
label: gettextCatalog.getString('Last name') label: gettextCatalog.getString('Surname')
} }
} }
] ]
@ -564,9 +564,9 @@ angular.module('OpenSlidesApp.users.site', [
$scope.sort.column = $scope.config('users_sort_by'); $scope.sort.column = $scope.config('users_sort_by');
$scope.sortOptions = [ $scope.sortOptions = [
{name: 'first_name', {name: 'first_name',
display_name: 'First name'}, display_name: 'Given name'},
{name: 'last_name', {name: 'last_name',
display_name: 'Last name'}, display_name: 'Surname'},
{name: 'is_present', {name: 'is_present',
display_name: 'Present'}, display_name: 'Present'},
{name: 'is_active', {name: 'is_active',
@ -999,7 +999,7 @@ angular.module('OpenSlidesApp.users.site', [
} }
if (!user.first_name && !user.last_name) { if (!user.first_name && !user.last_name) {
user.importerror = true; user.importerror = true;
user.name_error = gettext('Error: First or last name is required.'); user.name_error = gettext('Error: Given name or surname is required.');
} }
// structure level // structure level
if (user.structure_level) { if (user.structure_level) {
@ -1092,10 +1092,10 @@ angular.module('OpenSlidesApp.users.site', [
user.duplicate_info += user_.last_name; user.duplicate_info += user_.last_name;
user.duplicate_info += ' ('; user.duplicate_info += ' (';
if (user_.number) if (user_.number)
user.duplicate_info += gettextCatalog.getString('number') + ': ' + user_.number + ', '; user.duplicate_info += gettextCatalog.getString('Number') + ': ' + user_.number + ', ';
if (user_.structure_level) if (user_.structure_level)
user.duplicate_info += gettextCatalog.getString('structure level') + ': ' + user_.structure_level + ', '; user.duplicate_info += gettextCatalog.getString('Structure level') + ': ' + user_.structure_level + ', ';
user.duplicate_info += gettextCatalog.getString('username') + ': ' + user_.username + ') '+ user.duplicate_info += gettextCatalog.getString('Username') + ': ' + user_.username + ') '+
gettextCatalog.getString('already exists.'); gettextCatalog.getString('already exists.');
$scope.duplicates++; $scope.duplicates++;
@ -1552,8 +1552,8 @@ angular.module('OpenSlidesApp.users.site', [
gettext('General'); gettext('General');
gettext('Sort name of participants by'); gettext('Sort name of participants by');
gettext('Participants'); gettext('Participants');
gettext('First name'); gettext('Given name');
gettext('Last name'); gettext('Surname');
gettext('PDF'); gettext('PDF');
gettext('Welcome to OpenSlides'); gettext('Welcome to OpenSlides');
gettext('Title for access data and welcome PDF'); gettext('Title for access data and welcome PDF');

View File

@ -23,11 +23,11 @@
<input type="text" ng-model="user.title" class="form-control" name="inputTitle"> <input type="text" ng-model="user.title" class="form-control" name="inputTitle">
</div> </div>
<div class="col-xs-5"> <div class="col-xs-5">
<label for="inputFirstName" translate>First name</label> <label for="inputFirstName" translate>Given name</label>
<input type="text" ng-model="user.first_name" class="form-control" name="inputFirstName"> <input type="text" ng-model="user.first_name" class="form-control" name="inputFirstName">
</div> </div>
<div class="col-xs-5"> <div class="col-xs-5">
<label for="inputLastName" translate>Last name</label> <label for="inputLastName" translate>Surname</label>
<input type="text" ng-model="user.last_name" class="form-control" name="inputLastName"> <input type="text" ng-model="user.last_name" class="form-control" name="inputLastName">
</div> </div>
</div> </div>

View File

@ -73,7 +73,7 @@
<translate>Delegates</translate> <code>2</code>, <translate>Delegates</translate> <code>2</code>,
<translate>Staff</translate> <code>3</code> <translate>Staff</translate> <code>3</code>
<translate>Committees</translate> <code>4</code> <translate>Committees</translate> <code>4</code>
<li translate>At least first name or last name have to be filled in. All <li translate>At least given name or surname have to be filled in. All
other fields are optional and may be empty. other fields are optional and may be empty.
<li translate>Only double quotes are accepted as text delimiter (no single quotes). <li translate>Only double quotes are accepted as text delimiter (no single quotes).
<li><a id="downloadLink" href="" ng-click="downloadCSVExample()" translate>Download CSV example file</a> <li><a id="downloadLink" href="" ng-click="downloadCSVExample()" translate>Download CSV example file</a>
@ -87,8 +87,8 @@
<th> <th>
<th># <th>#
<th translate>Title <th translate>Title
<th translate>First name <th translate>Given name
<th translate>Last name <th translate>Surname
<th translate>Structure level <th translate>Structure level
<th translate>Participant number <th translate>Participant number
<th translate>Groups <th translate>Groups