error reporting
[redakcja.git] / apps / organizations / forms.py
1 # -*- coding: utf-8 -*-
2 #
3 # This file is part of MIL/PEER, licensed under GNU Affero GPLv3 or later.
4 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
5 #
6 from django import forms
7 from .models import Organization, UserCard, countries
8
9
10 class OrganizationForm(forms.ModelForm):
11     cts = countries
12
13     class Meta:
14         model = Organization
15         exclude = ['_html']
16
17
18 class UserCardForm(forms.ModelForm):
19     cts = countries
20
21     first_name = forms.CharField(required=False)
22     last_name = forms.CharField(required=False)
23
24     class Meta:
25         model = UserCard
26         exclude = ['_html', 'user']
27
28     def __init__(self, *args, **kwargs):
29         if 'instance' in kwargs:
30             kwargs['initial'] = {
31                 'first_name': kwargs['instance'].user.first_name,
32                 'last_name': kwargs['instance'].user.last_name,
33             }
34         super(UserCardForm, self).__init__(*args, **kwargs)
35
36     def save(self, *args, **kwargs):
37         self.instance.user.first_name = self.cleaned_data.get('first_name', '')
38         self.instance.user.last_name = self.cleaned_data.get('last_name', '')
39         self.instance.user.save()
40         return super(UserCardForm, self).save(*args, **kwargs)