Pridana administratorska poznamka k uzivateli

This commit is contained in:
Jarmil 2019-11-13 11:23:40 +01:00
parent d9b5570d90
commit 3542228559
5 changed files with 52 additions and 32 deletions

View File

@ -20,7 +20,7 @@ class AppUserForm(ModelForm):
model = models.AppUser model = models.AppUser
fields = ['first_name','last_name', fields = ['first_name','last_name',
'city', 'postcode', 'district', 'kind', 'city', 'postcode', 'district', 'kind',
'email', 'email_contact', 'email_contact_active', 'dc_stamp'] 'email', 'email_contact', 'email_contact_active', 'dc_stamp', 'admin_note']
def clean_postcode(self): def clean_postcode(self):
data = self.cleaned_data['postcode'] data = self.cleaned_data['postcode']

View File

@ -0,0 +1,24 @@
# Generated by Django 2.0.3 on 2019-11-13 11:14
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('nalodeni', '0056_appuser_county'),
]
operations = [
migrations.AddField(
model_name='appuser',
name='admin_note',
field=models.TextField(blank=True, verbose_name='Administrátorská poznámka'),
),
migrations.AlterField(
model_name='appuser',
name='county',
field=models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='nalodeni.County', verbose_name='Okres'),
),
]

View File

@ -147,55 +147,45 @@ class AppUser(AbstractUser, DataAudited):
KIND_ALREADY_OTHER: _('již pirátím jinak'), KIND_ALREADY_OTHER: _('již pirátím jinak'),
} }
## # User self-editable fields
# User self-editable fields
##
postcode = IntegerField(_('PSČ'), blank=False, null=True) postcode = IntegerField(_('PSČ'), blank=False, null=True)
city = CharField(_(u'Město'), max_length=120, default=None, city = CharField(_(u'Město'), max_length=120, default=None, blank=True, null=True)
blank=True, null=True) district = IntegerField(_('Kraj'), blank=True, null=True, choices=DISTRICT_CHOICES, default=None)
district = IntegerField(_('Kraj'), blank=True, null=True,
choices=DISTRICT_CHOICES, default=None)
# Stav KIND_MEMBER se nastavuje dle skutečného členství, a bude
# pravidelně aktualizován synchronizací s DB členů.
kind = IntegerField(_('Chci'), blank=False, null=False, kind = IntegerField(_('Chci'), blank=False, null=False,
default = KIND_NEWSLETTER, choices=KIND_CHOICES) default = KIND_NEWSLETTER, choices=KIND_CHOICES)
# Stav KIND_MEMBER se nastavuje dle skutečného členství, a bude
# pravidelně aktualizován synchronizací s DB členů.
# Stav KIND_MEMBER se nastavuje dle skutečného členství, a bude
# pravidelně aktualizován synchronizací s DB členů.
interestedIn = CharField(_('Moje dovednosti (chci pomoci s)'), blank=True, null=True, interestedIn = CharField(_('Moje dovednosti (chci pomoci s)'), blank=True, null=True,
max_length=150) max_length=150)
# Stav KIND_MEMBER se nastavuje dle skutečného členství, a bude
# pravidelně aktualizován synchronizací s DB členů.
# Kontaktni email, ktery slouzi ke skryti emailu registrovaneho na SSO
# a pouziteho napr. v prihlasce o clenstvi.
# SSO bude dalsim aplikacim, krome nalodeni, predavat pouze kontaktni email, bude-li nastaven.
email_contact = EmailField(_('Kontaktní e-mail'),max_length=100, email_contact = EmailField(_('Kontaktní e-mail'),max_length=100,
default='', blank=True, null=True) default='', blank=True, null=True)
# Kontaktni email, ktery slouzi ke skryti emailu registrovaneho na SSO
# a pouziteho napr. v prihlasce o clenstvi.
# SSO bude dalsim aplikacim, krome nalodeni, predavat pouze kontaktni
# email, pokud bude nastaven.
email_contact_token = CharField(_('Ověřovací token pro kontaktní e-mail.'), # Token pro ověření kontaktního emailu. Má tvat timestamp - token,
# kde timestamp se neposílá emailem, ale slouží pro vypršení platnosti.
email_contact_token = CharField(_('Ověřovací token pro kontaktní e-mail.'),
max_length=150, default=None, blank=True, null=True) max_length=150, default=None, blank=True, null=True)
# Token pro ověření kontaktního emailu. Má tvat timestamp - token,
# kde timestamp se neposílá emailem, ale slouží pro vypršení platnosti.
email_contact_verified = BooleanField(_('Kontaktní e-mail byl ověřen.'), # Kontaktni email je potřeba ověřit zaslání ověřovacího emailu.
default=False, blank=True) email_contact_verified = BooleanField(_('Kontaktní e-mail byl ověřen.'), default=False, blank=True)
# Kontaktni email je potřeba ověřit zaslání ověřovacího emailu.
# Kontaktni email, který je ověřen a zapsán v LDAP. Vyplňováno při přihlášení z SSO.
email_contact_active = EmailField(_('Kontaktní e-mail aktivní'),max_length=100, email_contact_active = EmailField(_('Kontaktní e-mail aktivní'),max_length=100,
default='', blank=True, null=True) default='', blank=True, null=True)
# Kontaktni email, který je ověřen a zapsán v LDAP.
# pole je vyplňováno při přihlášení z SSO.
# Datum a čas poslední změny údajů, které se mají propisovat do LDAP.
# Podle tohoto údaje se v synchronizačním skriptu pozná, jaké záznamy je třeba aktualizovat v LDAP
ts_for_ldap_sync = DateTimeField(_('Timestamp pro LDAP synchronizaci'), ts_for_ldap_sync = DateTimeField(_('Timestamp pro LDAP synchronizaci'),
default=datetime.datetime.now, blank=True, null=True) default=datetime.datetime.now, blank=True, null=True)
# Datum a čas poslední změny údajů, které se mají propisovat do LDAP.
# Podle tohoto údaje se v synchronizačním skriptu pozná, jaké
# záznamy je potřeba aktualizovat v LDAP.
dc_stamp = DateTimeField(_('Data consent timestamp'),
default=None, blank=True, null=True)
dc_stamp = DateTimeField(_('Data consent timestamp'), default=None, blank=True, null=True)
# dotaznik pro uzivatele # dotaznik pro uzivatele
userform = ForeignKey('UserForm', on_delete=CASCADE, verbose_name=_('dotazník'), userform = ForeignKey('UserForm', on_delete=CASCADE, verbose_name=_('dotazník'),
@ -204,8 +194,10 @@ class AppUser(AbstractUser, DataAudited):
# stav uzivatele - jaky? proc? ceho? boha jeho... # stav uzivatele - jaky? proc? ceho? boha jeho...
status = IntegerField(_('Stav'), blank=False, null=False, default = STATUS_NEW, choices=STATUS_CHOICES) status = IntegerField(_('Stav'), blank=False, null=False, default = STATUS_NEW, choices=STATUS_CHOICES)
# Okres. Prirazuje se automaticky pri zmene postcode (PSC) # Okres, prirazuje se automaticky pri zmene postcode (PSC) ve fci UserModel_presave
county = ForeignKey('County', on_delete=SET_NULL, verbose_name=_('dotazník'), blank=True, null=True, default=None) county = ForeignKey('County', on_delete=SET_NULL, verbose_name=_('Okres'), blank=True, null=True, default=None)
admin_note = TextField(_('Administrátorská poznámka'), blank=True)
# pro kompatibilitu kodu a modelu # pro kompatibilitu kodu a modelu

View File

@ -68,6 +68,9 @@ $(document).ready(function(){
<a href="{% url 'nalodeni:person_edit' p.id%}">upravit</a> <a href="{% url 'nalodeni:person_edit' p.id%}">upravit</a>
</td> </td>
</tr> </tr>
<tr>
<td colspan=12>{{p.admin_note}}</td>
</tr>
{% endfor %} {% endfor %}
</table> </table>
{% if newOnly %} {% if newOnly %}

View File

@ -40,6 +40,7 @@
<tr><td colspan="2">&nbsp;</td></tr> <tr><td colspan="2">&nbsp;</td></tr>
<tr><th>Datum registrace</th><td>{{obj.createdStamp}}</td></tr> <tr><th>Datum registrace</th><td>{{obj.createdStamp}}</td></tr>
<tr><th>Datum souhlasu os. údajů</th><td>{{obj.dc_stamp|default_if_none:'-'}}</td></tr> <tr><th>Datum souhlasu os. údajů</th><td>{{obj.dc_stamp|default_if_none:'-'}}</td></tr>
<tr><th>Administrátorská poznámka</th><td>{{obj.admin_note}}</td></tr>
</table> </table>
</section> </section>
</div> </div>