Esempio n. 1
0
    def post(self, request, slug):
        """
        Save the user and profile, login and send the right signals.
        """
        from socialregistration.contrib.openid.models import OpenIDProfile

        user = get_object_or_404(User, username=slug)
        allowed_access = user_is_self_or_admin(request, user)
        if not allowed_access == True:
            return allowed_access

        try:
            profile = OpenIDProfile.objects.get(user=user)
        except OpenIDProfile.DoesNotExist:
            profile = OpenIDProfile.objects.get_or_create(user=user)
        client = None

        form = self.get_form()(request.POST, request.FILES, initial={"profile_picture": user.profile.profile_picture})

        if not form.is_valid():
            return self.render_to_response(
                dict(form=self.get_form()(request.POST, initial={"profile_picture": user.profile.profile_picture}))
            )

        user, profile = form.save(request, user, profile, client)

        profile.authenticate()

        return redirect(reverse("cloud9:employee_detail", kwargs={"slug": user.username}))
Esempio n. 2
0
    def get(self, request, slug):
        """
        Overriden Get process, allows for the User.profile object
        @TODO is probably redundant now thanks to django-annoying.AutoOneToOneField
        field useage
        """
        user = get_object_or_404(User, username=slug)
        allowed_access = user_is_self_or_admin(request, user)
        if not allowed_access == True:
            return allowed_access

        try:
            profile = user.profile
        except AdcloudInfo.DoesNotExist:
            profile = AdcloudInfo.objects.get_or_create(user=user)

        client = None

        form = self.get_form()(initial=self.get_initial_data(request, user, profile, client))

        return self.render_to_response(dict(form=form, object=user))