示例#1
0
    def POST(self):
        files_req = self.request.FILES
        if (files_req.get('photo', '')):
            files_req['photo'].name = self.request.user.username

        form = EditProfileForm(self.request, self.request.POST,
                               files_req, instance=self.request.user)
        if not form.is_valid():
            return self.context_response('user/profile.html', {'form': form})

        # Send an email to admins with old data
        old_user = self.request.user
        subject = I18nString(_("[%(site_name)s] %(username)s modified his data"), {
            'site_name': settings.SITE_NAME,
            'username': old_user.username
        })
        message = I18nString(_("Username %(username)s modified his profile. Old data:\n\n"
            u" - Name: %(old_name)s\n"
            u" - Last name: %(old_surnames)s\n"
            u" - Email address: %(old_email)s\n"
            u" - Address: %(old_address)s\n"
            u" - Birth date: %(old_birth_date)s\n"
            u" - Description: %(old_description)s\n\n"
            u"New data:\n\n"
            u" - Name: %(name)s\n"
            u" - Last name: %(surnames)s\n"
            u" - Email address: %(email)s\n"
            u" - Address: %(address)s\n"
            u" - Birth date: %(birth_date)s\n"
            u" - Description: %(description)s\n\n"), {
                'username': old_user.username,
                'old_name': old_user.first_name,
                'old_surnames': old_user.last_name,
                'old_email': old_user.email,
                'old_address': old_user.address,
                'old_birth_date':  old_user.birth_date,
                'old_description': old_user.description,
                'name': form.cleaned_data["first_name"],
                'surnames': form.cleaned_data["last_name"],
                'email': form.cleaned_data["email"],
                'address': form.cleaned_data["address"],
                'birth_date': form.cleaned_data["birth_date"],
                'description': form.cleaned_data["description"]
            })
        mail_owners(subject, message)
        form.save()

        self.flash(_("Profile updated: <a href=\"%s\">view your profile</a>.") %
            reverse("user-view-current"))

        return self.context_response('user/profile.html', {'form': form})
示例#2
0
    def POST(self):
        form = RemoveForm(self.request.POST)
        if not form.is_valid():
            return self.context_response('user/remove.html', {'form': form})

        # TODO: do not remove user, only marks it as inactive
        user = self.request.user
        user.is_active = False
        user.save()

        # Send an email to admins and another to the user
        subject = I18nString(_("[%(site_name)s] User %(username)s disabled"), {
            'site_name': settings.SITE_NAME,
            'username': user.username
        })
        message = I18nString(_("The user %(username)s has requested being removed from the"
            " website. The reason given was:\n\n%(reason)s"), {
                'username': user.username,
                'reason': form.cleaned_data["reason"]
            })
        mail_owners(subject, message)

        current_site = Site.objects.get_current()
        subject = I18nString(_("You removed your profile %(username)s in %(site_name)s"), {
            'username': user.username,
            'site_name': settings.SITE_NAME
            })
        message = I18nString(_("Hello %(username)s!\n You removed your profile in"
            " http://%(url)s/ . We regret your decision to take this"
            " step. We'll read the reason why you removed yourself from this"
            " community that you provided to us and we'll have it in mind to"
            " improve our service in the future."
            "\n\n- The team of %(site_name)s."), {
                'username': user.username,
                'url': current_site.domain,
                'site_name': settings.SITE_NAME
            })
        send_mail(subject, message, settings.DEFAULT_FROM_EMAIL, [user],
            fail_silently=True)

        self.flash(_("We regret your decision to take this step.We'll read the"
            " reason why you removed yourself from this community that you"
            " provided to us and we'll have it in mind to improve our service"
            " in the future."), title=_("User removed"))

        return redirect("user-logout")
示例#3
0
文件: views.py 项目: nagyist/timebank
    def POST(self):
        if self.request.user.is_authenticated():
            form = ContactForm(self.request.POST)
        else:
            form = AnonymousContactForm(self.request.POST)
        if not form.is_valid():
            return self.context_response('main/contact.html', {
                'form': form,
                'current_tab': 'contact'
            })

        # Send an email to admins
        if self.request.user.is_authenticated():
            user = self.request.user
            subject = I18nString(
                _("[%(site_name)s] %(username)s: %(email_subject)s"), {
                    'site_name': settings.SITE_NAME,
                    'username': user.username,
                    'email_subject': form.cleaned_data["subject"]
                })
            message = I18nString(_(u"Registered user %(username)s sends the following "\
            " message:\n%(message)s"), {
                'username': user.username,
                'message': form.cleaned_data["message"]
            })
        else:
            subject = I18nString(
                _("[%(site_name)s] %(email)s: %(email_subject)s"), {
                    'site_name': settings.SITE_NAME,
                    'email': form.cleaned_data["email"],
                    'email_subject': form.cleaned_data["subject"]
                })
            message = I18nString(_("Registered user %(name)s whose email is %(email)s"\
                " sends the following message:\n%(message)s"), {
                    'name': form.cleaned_data["name"],
                    'email': form.cleaned_data["email"],
                    'message': form.cleaned_data["message"]
                })
        mail_owners(subject, message)

        self.flash(_("Mail sent, we'll answer you as soon as possible."))
        return redirect('main.views.index')
示例#4
0
    def POST(self):
        if self.request.user.is_authenticated():
            form = ContactForm(self.request.POST)
        else:
            form = AnonymousContactForm(self.request.POST)
        if not form.is_valid():
            return self.context_response('main/contact.html', {'form': form,
            'current_tab': 'contact'})

        # Send an email to admins
        if self.request.user.is_authenticated():
            user = self.request.user
            subject = I18nString(_("[%(site_name)s] %(username)s: %(email_subject)s"), {
                'site_name': settings.SITE_NAME,
                'username': user.username,
                'email_subject': form.cleaned_data["subject"]
            })
            message = I18nString(_(u"Registered user %(username)s sends the following "\
            " message:\n%(message)s"), {
                'username': user.username,
                'message': form.cleaned_data["message"]
            })
        else:
            subject = I18nString(_("[%(site_name)s] %(email)s: %(email_subject)s"), {
                'site_name': settings.SITE_NAME,
                'email': form.cleaned_data["email"],
                'email_subject': form.cleaned_data["subject"]
            })
            message = I18nString(_("Registered user %(name)s whose email is %(email)s"\
                " sends the following message:\n%(message)s"), {
                    'name': form.cleaned_data["name"],
                    'email': form.cleaned_data["email"],
                    'message': form.cleaned_data["message"]
                })
        mail_owners(subject, message)

        self.flash(_("Mail sent, we'll answer you as soon as possible."))
        return redirect('main.views.index')
示例#5
0
    def POST(self):
        form = RegisterForm(self.request.POST)
        if not form.is_valid():
            return self.context_response('user/register.html', {'form': form,
            'current_tab': 'register'})

        # Register user
        new_user = form.save(commit=False)
        new_user.is_active = settings.AUTOACCEPT_REGISTRATION
        new_user.save()

        if not settings.AUTOACCEPT_REGISTRATION:
            # Send an email to admins and another to the user
            subject = I18nString(_("[%(site_name)s] User %(username)s joined"), {
                'site_name': settings.SITE_NAME,
                'username': new_user.username
            })
            message = I18nString(_("A new user has joined with the name %s . Please review his"
                " data and make it active."), new_user.username)
            mail_owners(subject, message)

            current_site = Site.objects.get_current()
            subject = I18nString(_("You have joined as %(username)s in %(site_name)s"), {
                'username': new_user.username,
                'site_name': settings.SITE_NAME
                })
            message = I18nString(_("Hello %(username)s!\n You just joined to http://%(url)s/ ."
                " Soon the creation of your user will be reviewed by one of our"
                " admins and if everything is ok, we will enable your user and you"
                " will be able to start participating in our community."
                u"\n\n- The team of %(site_name)s."), {
                    'username': new_user.username,
                    'url': current_site.domain,
                    'site_name': settings.SITE_NAME
                })
            send_mail(subject, message, settings.DEFAULT_FROM_EMAIL,
                [new_user], fail_silently=True)

            self.flash(_("You just joined us, <strong>%(username)s</strong>. We"
                " have sent you an email to <strong>%(email)s</strong> confirming"
                " your inscription request. As soon as our admins review your"
                " request we will send you an email and you will be able to start"
                " to participate in our community.") % {
                    'username': new_user.username,
                    'email': new_user.email
                },
                title=_("User created successfully"))
        else:
            current_site = Site.objects.get_current()
            subject = I18nString(_("You have joined as %(username)s in %(site_name)s"), {
                'username': new_user.username,
                'site_name': settings.SITE_NAME
                })
            message = I18nString(_("Hello %(username)s!\n You just joined to http://%(url)s/ ."
                " Now you can start participating in our community!"
                u"\n\n- The team of %(site_name)s."), {
                    'username': new_user.username,
                    'url': current_site.domain,
                    'site_name': settings.SITE_NAME
                })
            send_mail(subject, message, settings.DEFAULT_FROM_EMAIL,
                [new_user], fail_silently=True)

            self.flash(_("You just joined us, <strong>%(username)s</strong>. We"
                " have sent you a confirmation email to"
                " <strong>%(email)s</strong>. Now you can start to participate"
                " in our community.") % {
                    'username': new_user.username,
                    'email': new_user.email
                },
                title=_("User created successfully"))

        return redirect('main.views.index')