Skip to content

Commit

Permalink
Translator: Explicitly list translators last and first name in order …
Browse files Browse the repository at this point in the history
…to prevent confusion

Translator's last name always in uppercase.

TYPE: Feature
LINK: ogc-1814
  • Loading branch information
Tschuppi81 committed Aug 30, 2024
1 parent 97abd79 commit 6251d1b
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 33 deletions.
11 changes: 4 additions & 7 deletions src/onegov/translator_directory/models/translator.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,8 @@ def expertise_professional_guilds_all(self) -> 'Sequence[str]':

@property
def title(self) -> str:
return f'{self.last_name}, {self.first_name}'
""" Returns title with lastname in uppercase. """
return f'{self.last_name.upper()}, {self.first_name}'

@property
def lead(self) -> str:
Expand All @@ -241,12 +242,8 @@ def lead(self) -> str:

@property
def full_name(self) -> str:
return f'{self.first_name} {self.last_name}'

@property
def full_name_lastname_upper(self) -> str:
""" Returns the full name where the lastname is in uppercase. """
return f'{self.first_name} {self.last_name.upper()}'
""" Returns the full name with lastname in uppercase. """
return f'{self.first_name.upper()} {self.last_name}'

@property
def unique_categories(self) -> list[str]:
Expand Down
8 changes: 8 additions & 0 deletions src/onegov/translator_directory/templates/translator.pt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@
<div class="row">
<div class="columns small-12 translator-directory">
<tal:b tal:condition="model|nothing">
<dl class="field-display" tal:condition="model.last_name is not None">
<dt i18n:translate>Last name</dt>
<dd>${model.last_name.upper()}</dd>
</dl>
<dl class="field-display" tal:condition="model.first_name is not None">
<dt i18n:translate>First name</dt>
<dd>${model.first_name}</dd>
</dl>
<dl class="field-display" tal:condition="model.pers_id is not None and layout.show('pers_id')">
<dt i18n:translate>Personal ID</dt>
<dd>${model.pers_id}</dd>
Expand Down
2 changes: 1 addition & 1 deletion src/onegov/translator_directory/templates/translators.pt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
<span tal:case="False">-</span>
</tal:b>
</td>
<td><a href="${request.link(translator)}">${translator.full_name_lastname_upper}</a></td>
<td><a href="${request.link(translator)}">${translator.title}</a></td>
<td>${translator.gender}</td>
<td>
<tal:b tal:repeat="language translator.written_languages">
Expand Down
4 changes: 2 additions & 2 deletions tests/onegov/translator_directory/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ def test_translator_mutation(session):
assert ticket.handler.message == 'Message'
assert ticket.handler.proposed_changes == proposed_changes
assert ticket.handler.state is None
assert ticket.handler.title == 'Benito, Hugo'
assert ticket.handler.title == 'BENITO, Hugo'
assert ticket.handler.subtitle == 'Mutation'
assert ticket.handler.group == 'Translator'

Expand Down Expand Up @@ -449,7 +449,7 @@ def test_accreditation(translator_app):
assert not ticket.handler.deleted
assert ticket.handler.email == 'translator@example.org'
assert ticket.handler.state is None
assert ticket.handler.title == 'Benito, Hugo'
assert ticket.handler.title == 'BENITO, Hugo'
assert ticket.handler.subtitle == 'Request Accreditation'
assert ticket.handler.group == 'Accreditation'
assert accreditation.target == translator
Expand Down
50 changes: 27 additions & 23 deletions tests/onegov/translator_directory/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@ def test_view_translator(client):
dl.find('dd').text_content().strip()
for dl in page.pyquery('dl')
}
assert len(values) == 24
assert len(values) == 26
assert values['Nachname'] == 'BOB'
assert values['Vorname'] == 'Uncle'
assert values['Personal Nr.'] == '978654'
assert values['Zulassung'] == ('nicht akkreditiert / Einsatz '
'Dringlichkeit')
Expand Down Expand Up @@ -173,7 +175,7 @@ def test_view_translator(client):

# test user account created and activation mail sent
user = UserCollection(session).by_username('test@test.com')
assert user.translator.title == 'Bob, Uncle'
assert user.translator.title == 'BOB, Uncle'
assert user.active is True
assert user.role == 'translator'

Expand All @@ -197,13 +199,13 @@ def test_view_translator(client):
assert 'Sind ihre Daten noch aktuell? Bitte überprüfen Sie' not in page
assert '978654' in page
assert 'Uncle' in page
assert 'Bob' in page
assert 'BOB' in page

page = client.login('test@test.com', 'p@ssw0rd', None).maybe_follow()
assert 'Sind ihre Daten noch aktuell? Bitte überprüfen Sie' in page
assert '978654' in page
assert 'Uncle' in page
assert 'Bob' in page
assert 'BOB' in page
assert '<a href="mailto:test@test.com">test@test.com</a>' in page
assert '756.1234.5678.97' in page
assert 'All okay' in page
Expand Down Expand Up @@ -302,14 +304,16 @@ def test_view_translator(client):

assert 'Ihre Änderungen wurden gespeichert' in page
assert 'Aunt' in page
assert 'Maggie' in page
assert 'MAGGIE' in page
assert f'<a href="tel:{tel_mobile}">{tel_mobile}</a>' in page
values = {
dl.find('dt').text_content().strip():
dl.find('dd').text_content().strip()
for dl in page.pyquery('dl')
}
assert len(values) == 40
assert len(values) == 42
assert values['Nachname'] == 'MAGGIE'
assert values['Vorname'] == 'Aunt'
assert values['AHV-Nr.'] == '756.1111.1111.11'
assert values['Anschrift'] == 'Somestreet'
assert values['Ausbildung Dolmetscher'] == 'Ja'
Expand Down Expand Up @@ -354,7 +358,7 @@ def test_view_translator(client):
users = UserCollection(session)
assert not users.by_username('test@test.com')
user = users.by_username('aunt.maggie@translators.com')
assert user.translator.title == 'Maggie, Aunt'
assert user.translator.title == 'MAGGIE, Aunt'
assert user.active is True
assert user.role == 'translator'

Expand Down Expand Up @@ -807,7 +811,7 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

# Report changes as member
client.login_member()
page = client.get('/').maybe_follow().click('Uncle BOB')
page = client.get('/').maybe_follow().click('BOB, Uncle')
page = page.click('Mutation melden')
page.form['submitter_message'] = 'Hallo!'
page.form['first_name'] = 'Aunt'
Expand Down Expand Up @@ -853,7 +857,7 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'member@example.org'
assert 'Bob, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']
assert 'BOB, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']

assert connect.call_count == 1
assert authenticate.call_count == 1
Expand Down Expand Up @@ -910,12 +914,12 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'member@example.org'
assert 'Bob, Uncle: Ihre Anfrage wurde abgeschlossen' in mail['Subject']
assert 'BOB, Uncle: Ihre Anfrage wurde abgeschlossen' in mail['Subject']

# Report change as editor
client.logout()
client.login_editor()
page = client.get('/').maybe_follow().click('Uncle BOB')
page = client.get('/').maybe_follow().click('BOB, Uncle')
page = page.click('Mutation melden')
page.form['submitter_message'] = 'Hallo!'
page.form['first_name'] = 'Aunt'
Expand Down Expand Up @@ -967,7 +971,7 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'editor@example.org'
assert 'Bob, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']
assert 'BOB, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']

assert connect.call_count == 2
assert authenticate.call_count == 2
Expand Down Expand Up @@ -1023,7 +1027,7 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'editor@example.org'
assert 'Bob, Uncle: Ihre Anfrage wurde abgeschlossen' in mail['Subject']
assert 'BOB, Uncle: Ihre Anfrage wurde abgeschlossen' in mail['Subject']

# Report change as translator
client.logout()
Expand Down Expand Up @@ -1091,7 +1095,7 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'test@test.com'
assert 'Bob, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']
assert 'BOB, Uncle: Ihr Ticket wurde eröffnet' in mail['Subject']

assert connect.call_count == 3
assert authenticate.call_count == 3
Expand Down Expand Up @@ -1184,9 +1188,9 @@ def test_view_translator_mutation(broadcast, authenticate, connect, client):

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'test@test.com'
assert 'Anny, Aunt: Ihre Anfrage wurde abgeschlossen' in mail['Subject']
assert 'ANNY, Aunt: Ihre Anfrage wurde abgeschlossen' in mail['Subject']

page = client.get('/').follow().click('Aunt ANNY')
page = client.get('/').follow().click('ANNY, Aunt')
assert 'Aunt' in page
assert 'Anny' in page
assert '123456' in page
Expand Down Expand Up @@ -1328,7 +1332,7 @@ def request_accreditation():

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'hugo.benito@translators.com'
assert 'Benito, Hugo: Ihr Ticket wurde eröffnet' in mail['Subject']
assert 'BENITO, Hugo: Ihr Ticket wurde eröffnet' in mail['Subject']

nonlocal websocket_messages
websocket_messages += 1
Expand Down Expand Up @@ -1401,7 +1405,7 @@ def request_accreditation():

return page

# Request accredtitation
# Request accreditation
page = request_accreditation()

assert 'Briefvorlagen' in page
Expand All @@ -1417,7 +1421,7 @@ def request_accreditation():

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'hugo.benito@translators.com'
assert 'Benito, Hugo: Ihre Anfrage wurde abgeschlossen' in mail['Subject']
assert 'BENITO, Hugo: Ihre Anfrage wurde abgeschlossen' in mail['Subject']

# Request accredtitation
page = request_accreditation()
Expand All @@ -1440,13 +1444,13 @@ def request_accreditation():

mail = client.get_email(0, flush_queue=True)
assert mail['To'] == 'hugo.benito@translators.com'
assert 'Benito, Hugo: Ihre Anfrage wurde abgeschlossen' in mail['Subject']
assert 'BENITO, Hugo: Ihre Anfrage wurde abgeschlossen' in mail['Subject']

page = client.get('/').follow()
assert 'hugo.benito@translators.com' in page

page = page.click('Hugo BENITO')
assert 'Benito, Hugo' in page
page = page.click('BENITO, Hugo')
assert 'BENITO, Hugo' in page
assert '756.1234.4568.90' in page

client.logout()
Expand All @@ -1459,7 +1463,7 @@ def request_accreditation():

page = client.login('hugo.benito@translators.com', 'p@ssw0rd', None)
page = page.maybe_follow()
assert 'Benito, Hugo' in page
assert 'BENITO, Hugo' in page
assert '756.1234.4568.90' in page


Expand Down

0 comments on commit 6251d1b

Please sign in to comment.