Revision 60b59fed

b/snf-astakos-app/astakos/im/forms.py
185 185
        user.add_auth_provider('local', auth_backend='astakos')
186 186
        user.set_password(self.cleaned_data['password1'])
187 187

  
188
    def save(self, commit=True):
188
    def save(self, commit=True, *args, **kwargs):
189 189
        """
190 190
        Saves the email, first_name and last_name properties, after the normal
191 191
        save behavior is complete.
192 192
        """
193
        user = super(LocalUserCreationForm, self).save(commit=False)
193
        user = super(LocalUserCreationForm, self).save(commit=False,
194
                                                       *args, **kwargs)
194 195
        user.date_signed_terms = datetime.now()
195 196
        user.renew_token()
196 197
        if commit:
197
            user.save()
198
            user.save(*args, **kwargs)
198 199
            logger.info('Created user %s', user.log_display)
199 200
        return user
200 201

  
......
218 219
        for f in ro:
219 220
            self.fields[f].widget.attrs['readonly'] = True
220 221

  
221
    def save(self, commit=True):
222
        user = super(InvitedLocalUserCreationForm, self).save(commit=False)
222
    def save(self, commit=True, *args, **kwargs):
223
        user = super(InvitedLocalUserCreationForm, self).save(commit=False,
224
                                                              *args, **kwargs)
223 225
        user.set_invitations_level()
224 226
        user.email_verified = True
225 227
        if commit:
226
            user.save()
228
            user.save(*args, **kwargs)
227 229
        return user
228 230

  
229 231

  
......
297 299
        provider.add_to_user()
298 300
        pending.delete()
299 301

  
300
    def save(self, commit=True):
301
        user = super(ThirdPartyUserCreationForm, self).save(commit=False)
302
    def save(self, commit=True, *args, **kwargs):
303
        user = super(ThirdPartyUserCreationForm, self).save(commit=False,
304
                                                            *args, **kwargs)
302 305
        user.set_unusable_password()
303 306
        user.renew_token()
304 307
        user.date_signed_terms = datetime.now()
305 308
        if commit:
306
            user.save()
309
            user.save(*args, **kwargs)
307 310
            logger.info('Created user %s' % user.log_display)
308 311
        return user
309 312

  
......
324 327
        for f in ro:
325 328
            self.fields[f].widget.attrs['readonly'] = True
326 329

  
327
    def save(self, commit=True):
328
        user = super(InvitedThirdPartyUserCreationForm, self).save(commit=False)
330
    def save(self, commit=True, *args, **kwargs):
331
        user = super(InvitedThirdPartyUserCreationForm, self).save(
332
            commit=False, *args, **kwargs)
329 333
        user.set_invitation_level()
330 334
        user.email_verified = True
331 335
        if commit:
332
            user.save()
336
            user.save(*args, **kwargs)
333 337
        return user
334 338

  
335 339

  
......
455 459
    def clean_email(self):
456 460
        return self.instance.email
457 461

  
458
    def save(self, commit=True):
459
        user = super(ProfileForm, self).save(commit=False)
462
    def save(self, commit=True, *args, **kwargs):
463
        user = super(ProfileForm, self).save(commit=False, *args, **kwargs)
460 464
        user.is_verified = True
461 465
        if self.cleaned_data.get('renew'):
462 466
            user.renew_token(
......
464 468
                current_key=self.session_key
465 469
            )
466 470
        if commit:
467
            user.save()
471
            user.save(*args, **kwargs)
468 472
        return user
469 473

  
470 474

  
......
519 523
            raise forms.ValidationError(_(astakos_messages.EMAIL_UNKNOWN))
520 524
        return email
521 525

  
522
    def save(
523
        self, domain_override=None, email_template_name='registration/password_reset_email.html',
524
            use_https=False, token_generator=default_token_generator, request=None):
526
    def save(self, domain_override=None,
527
             email_template_name='registration/password_reset_email.html',
528
             use_https=False, token_generator=default_token_generator,
529
             request=None, *args, **kwargs):
525 530
        """
526
        Generates a one-use only link for resetting password and sends to the user.
531
        Generates a one-use only link for resetting password
532
        and sends to the user.
527 533
        """
528 534
        for user in self.users_cache:
529 535
            url = user.astakosuser.get_password_reset_url(token_generator)
......
557 563
            raise forms.ValidationError(_(astakos_messages.EMAIL_USED))
558 564
        return addr
559 565

  
560
    def save(self, request, email_template_name='registration/email_change_email.txt', commit=True):
561
        ec = super(EmailChangeForm, self).save(commit=False)
566
    def save(self, request,
567
             email_template_name='registration/email_change_email.txt',
568
             commit=True, *args, **kwargs):
569
        ec = super(EmailChangeForm, self).save(commit=False, *args, **kwargs)
562 570
        ec.user = request.user
563 571
        # delete pending email changes
564 572
        request.user.emailchanges.all().delete()
......
567 575
            str(random()) + smart_str(ec.new_email_address))
568 576
        ec.activation_key = activation_key.hexdigest()
569 577
        if commit:
570
            ec.save()
578
            ec.save(*args, **kwargs)
571 579
        send_change_email(ec, request, email_template_name=email_template_name)
572 580

  
573 581

  
......
586 594
            raise forms.ValidationError(_(astakos_messages.SIGN_TERMS))
587 595
        return has_signed_terms
588 596

  
589
    def save(self, commit=True):
590
        user = super(SignApprovalTermsForm, self).save(commit)
597
    def save(self, commit=True, *args, **kwargs):
598
        user = super(SignApprovalTermsForm, self).save(commit, *args, **kwargs)
591 599
        user.date_signed_terms = datetime.now()
592 600
        if commit:
593
            user.save()
601
            user.save(*args, **kwargs)
594 602
        return user
595 603

  
596 604

  
......
629 637
        self.session_key = kwargs.pop('session_key', None)
630 638
        super(ExtendedPasswordChangeForm, self).__init__(user, *args, **kwargs)
631 639

  
632
    def save(self, commit=True):
640
    def save(self, commit=True, *args, **kwargs):
633 641
        try:
634 642
            if settings.NEWPASSWD_INVALIDATE_TOKEN or \
635 643
                    self.cleaned_data.get('renew'):
......
638 646
        except AttributeError:
639 647
            # if user model does has not such methods
640 648
            pass
641
        return super(ExtendedPasswordChangeForm, self).save(commit=commit)
649
        return super(ExtendedPasswordChangeForm, self).save(commit=commit,
650
                                                            *args, **kwargs)
642 651

  
643 652
class ExtendedSetPasswordForm(SetPasswordForm):
644 653
    """
......
656 665
        super(ExtendedSetPasswordForm, self).__init__(user, *args, **kwargs)
657 666

  
658 667
    @transaction.commit_on_success()
659
    def save(self, commit=True):
668
    def save(self, commit=True, *args, **kwargs):
660 669
        try:
661 670
            self.user = AstakosUser.objects.get(id=self.user.id)
662 671
            if settings.NEWPASSWD_INVALIDATE_TOKEN or \
......
669 678

  
670 679
        except BaseException, e:
671 680
            logger.exception(e)
672
        return super(ExtendedSetPasswordForm, self).save(commit=commit)
681
        return super(ExtendedSetPasswordForm, self).save(commit=commit,
682
                                                         *args, **kwargs)
673 683

  
674 684

  
675 685

  
......
895 905
    def cleaned_resource_policies(self):
896 906
        return [(d['name'], d['uplimit']) for d in self.resource_policies]
897 907

  
898
    def save(self, commit=True):
908
    def save(self, commit=True, *args, **kwargs):
899 909
        data = dict(self.cleaned_data)
900 910
        data['precursor_id'] = self.instance.id
901 911
        is_new = self.instance.id is None
......
1102 1112
            self.password_change_form.save(*args, **kwargs)
1103 1113
            self.password_changed = True
1104 1114
        return super(ExtendedProfileForm, self).save(*args, **kwargs)
1105

  
b/snf-astakos-app/astakos/im/models.py
511 511
                self.uuid = uuid_val
512 512
        return self.uuid
513 513

  
514
    def save(self, update_timestamps=True, **kwargs):
514
    def save(self, update_timestamps=True, *args, **kwargs):
515 515
        if update_timestamps:
516 516
            if not self.id:
517 517
                self.date_joined = datetime.now()
......
526 526
        if self.username != self.email.lower():
527 527
            self.username = self.email.lower()
528 528

  
529
        super(AstakosUser, self).save(**kwargs)
529
        super(AstakosUser, self).save(*args, **kwargs)
530 530

  
531 531
    def renew_verification_code(self):
532 532
        self.verification_code = str(uuid.uuid4())
......
1222 1222
        else:
1223 1223
            self.last_name = parts[0]
1224 1224

  
1225
    def save(self, **kwargs):
1225
    def save(self, *args, **kwargs):
1226 1226
        if not self.id:
1227 1227
            # set username
1228 1228
            while not self.username:
......
1231 1231
                    AstakosUser.objects.get(username = username)
1232 1232
                except AstakosUser.DoesNotExist, e:
1233 1233
                    self.username = username
1234
        super(PendingThirdPartyUser, self).save(**kwargs)
1234
        super(PendingThirdPartyUser, self).save(*args, **kwargs)
1235 1235

  
1236 1236
    def generate_token(self):
1237 1237
        self.password = self.third_party_identifier

Also available in: Unified diff