first_name, last_name and name_surfix as OpenSlidesUser attributes
This commit is contained in:
parent
5353053d29
commit
153482f32d
@ -36,7 +36,7 @@ class OpenSlidesUser(models.Model, PersonMixin):
|
||||
)
|
||||
|
||||
user = models.OneToOneField(User, unique=True, editable=False)
|
||||
name_surfix = models.CharField(
|
||||
category = models.CharField(
|
||||
max_length=100, null=True, blank=True, verbose_name=_("Name Surfix"),
|
||||
help_text=_('Shown behind the name.'))
|
||||
gender = models.CharField(
|
||||
@ -55,6 +55,34 @@ class OpenSlidesUser(models.Model, PersonMixin):
|
||||
max_length=100, null=True, blank=True,
|
||||
verbose_name=_("First Password"))
|
||||
|
||||
save_user_object = False
|
||||
|
||||
def get_name_surfix(self):
|
||||
return self.category
|
||||
|
||||
def set_name_surfix(self, value):
|
||||
self.category = value
|
||||
|
||||
name_surfix = property(get_name_surfix, set_name_surfix)
|
||||
|
||||
def get_first_name(self):
|
||||
return self.user.first_name
|
||||
|
||||
def set_first_name(self, first_name):
|
||||
self.user.first_name = first_name
|
||||
self.save_user_object = True
|
||||
|
||||
first_name = property(get_first_name, set_first_name)
|
||||
|
||||
def get_last_name(self):
|
||||
return self.user.last_name
|
||||
|
||||
def set_last_name(self, last_name):
|
||||
self.user.last_name = last_name
|
||||
self.save_user_object = True
|
||||
|
||||
last_name = property(get_last_name, set_last_name)
|
||||
|
||||
def reset_password(self, password=None):
|
||||
"""
|
||||
Reset the password for the user to his default-password.
|
||||
@ -67,6 +95,9 @@ class OpenSlidesUser(models.Model, PersonMixin):
|
||||
def has_perm(self, perm):
|
||||
return self.user.has_perm(perm)
|
||||
|
||||
def save_in_user_object(self, attribute, value):
|
||||
self.save_in_user_object_dict[attribute] = value
|
||||
|
||||
@models.permalink
|
||||
def get_absolute_url(self, link='edit'):
|
||||
"""
|
||||
@ -86,6 +117,12 @@ class OpenSlidesUser(models.Model, PersonMixin):
|
||||
return "%s (%s)" % (self.user.get_full_name(), self.name_surfix)
|
||||
return "%s" % self.user.get_full_name()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.save_user_object:
|
||||
self.user.save()
|
||||
self.save_user_object = False
|
||||
super(OpenSlidesUser, self).save(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
# Rename permissions
|
||||
permissions = (
|
||||
|
@ -39,7 +39,7 @@ class OpenSlidesUserTest(TestCase):
|
||||
self.assertEqual(unicode(self.openslidesuser1), u'Max Mustermann')
|
||||
|
||||
def test_name_surfix(self):
|
||||
self.openslidesuser1.name_surfix = u'München'
|
||||
self.openslidesuser1.category = u'München'
|
||||
self.openslidesuser1.save()
|
||||
self.assertEqual(unicode(self.openslidesuser1), u'Max Mustermann (München)')
|
||||
|
||||
@ -57,6 +57,16 @@ class OpenSlidesUserTest(TestCase):
|
||||
self.assertEqual(get_person('openslides_user:1'), self.openslidesuser1)
|
||||
self.assertEqual(len(Persons()), 1)
|
||||
|
||||
def test_save_name(self):
|
||||
self.assertEqual(self.openslidesuser1.first_name, self.user1.first_name)
|
||||
self.assertEqual(self.openslidesuser1.last_name, self.user1.last_name)
|
||||
self.openslidesuser1.first_name = 'foo'
|
||||
self.openslidesuser1.last_name = 'bar'
|
||||
self.openslidesuser1.save()
|
||||
user1 = User.objects.get(pk=1)
|
||||
self.assertEqual(user1.first_name, 'foo')
|
||||
self.assertEqual(user1.last_name, 'bar')
|
||||
|
||||
|
||||
class OpenSlidesGroupTest(TestCase):
|
||||
def setUp(self):
|
||||
|
Loading…
Reference in New Issue
Block a user