def save(self, *args, **kwargs):
        for field_key in self.cleaned_data.keys():
            self.temporary_data.comments[field_key] = self.cleaned_data[field_key]
        self.temporary_data.status = ProposalTemporaryData.Statuses.InTheirSide
        self.temporary_data.save()
        comments = {}
        for key in self.temporary_data.data.keys():
            if self.temporary_data.comments[key]:
                comments[key] = {
                    'original': self.temporary_data.data[key],
                    'comments': self.temporary_data.comments[key]
                }

        site = Site.objects.get_current()
        mail_context = {
            'area': self.temporary_data.area,
            'temporary_data': self.temporary_data,
            'moderator': self.moderator,
            'comments': comments,
            'site': site,

        }
        send_mail(mail_context, 'popular_proposal_moderation',
                  to=[self.temporary_data.proposer.email])
        return self.temporary_data
 def create_confirmation(self):
     confirmation = MessageConfirmation.objects.create(message=self)
     site = Site.objects.get_current()
     context = {'election':self.election,
                'message': self,
                'site': site}
     send_mail(context, 'confirmation', to=[self.author_email], from_email=settings.NO_REPLY_MAIL)
Ejemplo n.º 3
0
 def create_confirmation(self):
     confirmation = MessageConfirmation.objects.create(message=self)
     context = {'election': self.election, 'message': self}
     send_mail(context,
               'confirmation',
               to=[self.author_email],
               from_email=settings.NO_REPLY_MAIL)
Ejemplo n.º 4
0
    def create_proposal(self, moderator=None):
        self.status = ProposalTemporaryData.Statuses.Accepted
        self.save()
        title = self.get_title()
        clasification = self.data.get('clasification', '')
        org_id = self.data.pop('organization', None)

        creation_kwargs = self.determine_kwargs(title=title,
                                                clasification=clasification,
                                                area=self.area,
                                                proposer=self.proposer,
                                                data=self.data,
                                                temporary=self)
        popular_proposal = PopularProposal(**creation_kwargs)
        if org_id:
            enrollment = self.proposer.enrollments.get(organization__id=org_id)
            popular_proposal.organization = enrollment.organization
        popular_proposal.save()
        site = Site.objects.get_current()
        mail_context = {
            'area': self.area,
            'temporary_data': self,
            'moderator': moderator,
            'site': site,
        }
        send_mail(mail_context,
                  'popular_proposal_accepted',
                  to=[self.proposer.email])
        return popular_proposal
Ejemplo n.º 5
0
    def save(self, *args, **kwargs):
        for field_key in self.cleaned_data.keys():
            self.temporary_data.comments[field_key] = self.cleaned_data[
                field_key]
        self.temporary_data.status = ProposalTemporaryData.Statuses.InTheirSide
        self.temporary_data.save()
        comments = {}
        for key in self.temporary_data.data.keys():
            if self.temporary_data.comments[key]:
                comments[key] = {
                    'original': self.temporary_data.data[key],
                    'comments': self.temporary_data.comments[key]
                }

        site = Site.objects.get_current()
        mail_context = {
            'area': self.temporary_data.area,
            'temporary_data': self.temporary_data,
            'moderator': self.moderator,
            'comments': comments,
            'site': site,
        }
        send_mail(mail_context,
                  'popular_proposal_moderation',
                  to=[self.temporary_data.proposer.email])
        return self.temporary_data
 def create_proposal(self, moderator=None):
     self.status = ProposalTemporaryData.Statuses.Accepted
     self.save()
     title = self.get_title()
     clasification = self.data.get('clasification', '')
     popular_proposal = PopularProposal(proposer=self.proposer,
                                        title=title,
                                        area=self.area,
                                        temporary=self,
                                        clasification=clasification,
                                        data=self.data)
     if 'organization' in self.data.keys() and self.data['organization']:
         org_id = self.data['organization']
         enrollment = self.proposer.enrollments.get(organization__id=org_id)
         popular_proposal.organization = enrollment.organization
     popular_proposal.save()
     site = Site.objects.get_current()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'moderator': moderator,
         'site': site,
     }
     send_mail(mail_context, 'popular_proposal_accepted', to=[self.proposer.email])
     return popular_proposal
    def send_mail_with_user_and_password(self):
        if self.times_email_has_been_sent >= settings.MAX_AMOUNT_OF_MAILS_TO_CANDIDATE:
            return
        self.times_email_has_been_sent += 1
        if self.candidacy is None:
            username = self.candidate.id[:20] + unicode(uuid.uuid4())[:4]

            password = uuid.uuid4().hex[:12]
            self.initial_password = password
            user = User.objects.create(username=username)
            user.set_password(self.initial_password)
            user.email = self.mail
            user.save()
            self.candidacy = Candidacy.objects.create(user=user,
                                                      candidate=self.candidate)

        site = Site.objects.get_current()
        login_url = reverse('backend_candidate:candidate_auth_login')
        full_login_url = "http://%s%s" % (site.domain, login_url)
        send_mail(
            {
                'contact': self,
                'login_url': full_login_url
            },
            'candidates/mail_with_user_and_password',
            to=[self.mail],
        )
        self.save()
Ejemplo n.º 8
0
 def send(self):
     context = self.get_context()
     if not context['commitments']:
         return
     for commitment in context['commitments']:
         commitment.notifications.filter(user=self.user).update(
             notified=True)
     send_mail(context, self.template_prefix, to=[self.user.email])
 def notify_new(self):
     site = Site.objects.get_current()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'site': site,
     }
     send_mail(mail_context, 'new_temporary_proposal',
               to=[self.proposer.email])
 def send_mail_with_link(self):
     if self.times_email_has_been_sent >= settings.MAX_AMOUNT_OF_MAILS_TO_CANDIDATE:
         return
     send_mail(
         {'contact': self},
         'candidates/join_us_pls',
         to=[self.mail],
     )
     self.times_email_has_been_sent += 1
     self.save()
 def reject(self, reason, moderator=None):
     self.rejected_reason = reason
     self.status = ProposalTemporaryData.Statuses.Rejected
     self.save()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'moderator': moderator,
     }
     send_mail(mail_context, 'popular_proposal_rejected', to=[self.proposer.email])
Ejemplo n.º 12
0
 def notify_new(self):
     site = Site.objects.get_current()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'site': site,
     }
     if self.proposer.email:
         send_mail(mail_context,
                   'new_temporary_proposal',
                   to=[self.proposer.email])
 def send(self):
     for person in self.people.all():
         outbound_message = OutboundMessage.objects.create(message=self, person=person)
         reply_to = '%(localpart)s+%(key)s@%(domain)s' % {'localpart': settings.EMAIL_LOCALPART,
                                                          'key': outbound_message.key,
                                                          'domain': settings.EMAIL_DOMAIN}
         context = {'election':self.election, 'candidate': person, 'message': self}
         send_mail(context, 'nueva_pregunta_candidato', to=[person.email], \
                   reply_to=reply_to)
     self.status.sent = True
     self.status.save()
Ejemplo n.º 14
0
 def save(self, *args, **kwargs):
     super(ProposalLike, self).save(*args, **kwargs)
     created = self.pk is not None
     if created:
         if self.user.profile.is_organization:
             template = 'new_sponsorshipnotification_to_proposer'
             context = {'like': self}
             send_mail(context, template, to=[self.proposal.proposer.email])
             template = 'new_sponsorshipnotification_to_sponsorer'
             context = {'like': self}
             send_mail(context, template, to=[self.user.email])
         self.numerical_notification()
Ejemplo n.º 15
0
 def reject(self, reason, moderator=None):
     self.rejected_reason = reason
     self.status = ProposalTemporaryData.Statuses.Rejected
     self.save()
     site = Site.objects.get_current()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'moderator': moderator,
         'site': site,
     }
     send_mail(mail_context, 'popular_proposal_rejected', to=[self.proposer.email])
Ejemplo n.º 16
0
 def notify_candidates_of_new(self):
     if not (settings.NOTIFY_CANDIDATES
             and settings.NOTIFY_CANDIDATES_OF_NEW_PROPOSAL):
         return
     template = 'notification_for_candidates_of_new_proposal'
     context = {'proposal': self}
     area = Area.objects.get(id=self.area.id)
     for election in area.elections.all():
         for candidate in election.candidates.all():
             for contact in candidate.contacts.all():
                 context.update({'candidate': candidate})
                 send_mail(context, template, to=[contact.mail])
 def send_mail(self, sleep):
     context = self.suggestion.get_context_for_candidate(self.candidate)
     context['formset'] = self.formset
     context['candidate_incremental'] = self
     for candidacy in self.candidate.candidacy_set.all():
         context['candidacy'] = candidacy
         subject = None
         if self.suggestion and self.suggestion.subject:
             subject = self.suggestion.subject
         send_mail(context,
                   'suggestions_for_candidates',
                   subject=subject,
                   to=[candidacy.user.email])
         time.sleep(sleep)
 def send(self):
     proposals = self.get_proposals()
     subscriptions = self.get_subscriptions()
     if not proposals:
         return False
     context = {
         'proposals': proposals,
         'subscriptions': subscriptions,
         'user': self.user
     }
     send_mail(context,
               'search_proposals_subscription',
               to=[self.user.email])
     return True
Ejemplo n.º 19
0
 def send(self):
     for person in self.people.all():
         outbound_message = OutboundMessage.objects.create(message=self,
                                                           person=person)
         reply_to = '%(localpart)s+%(key)s@%(domain)s' % {
             'localpart': settings.EMAIL_LOCALPART,
             'key': outbound_message.key,
             'domain': settings.EMAIL_DOMAIN
         }
         context = {
             'election': self.election,
             'candidate': person,
             'message': self
         }
         send_mail(context, 'nueva_pregunta_candidato', to=[person.email], \
                   reply_to=reply_to)
     self.status.sent = True
     self.status.save()
    def send_mail_with_user_and_password(self):
        if self.times_email_has_been_sent >= settings.MAX_AMOUNT_OF_MAILS_TO_CANDIDATE:
            return
        self.times_email_has_been_sent += 1
        if self.candidacy is None:
            username = self.candidate.id + unicode(uuid.uuid4())[:4]

            password = uuid.uuid4().hex
            self.initial_password = password
            user = User.objects.create(username=username)
            user.set_password(self.initial_password)
            user.save()
            self.candidacy = Candidacy.objects.create(user=user, candidate=self.candidate)

        site = Site.objects.get_current()
        login_url = reverse('backend_candidate:candidate_auth_login')
        full_login_url = "http://%s%s" % (site.domain, login_url)
        send_mail({'contact': self, 'login_url': full_login_url},
                  'candidates/mail_with_user_and_password', to=[self.mail],)
        self.save()
 def create_proposal(self, moderator=None):
     self.status = ProposalTemporaryData.Statuses.Accepted
     self.save()
     title = self.get_title()
     popular_proposal = PopularProposal(proposer=self.proposer,
                                        title=title,
                                        area=self.area,
                                        temporary=self,
                                        data=self.data)
     if 'organization' in self.data.keys() and self.data['organization']:
         organization, created = Organization.objects.get_or_create(name=self.data['organization'])
         popular_proposal.organization = organization
     popular_proposal.save()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'moderator': moderator,
     }
     send_mail(mail_context, 'popular_proposal_accepted', to=[self.proposer.email])
     return popular_proposal
Ejemplo n.º 22
0
 def create_proposal(self, moderator=None):
     self.status = ProposalTemporaryData.Statuses.Accepted
     self.save()
     title = self.get_title()
     popular_proposal = PopularProposal(proposer=self.proposer,
                                        title=title,
                                        area=self.area,
                                        temporary=self,
                                        data=self.data)
     if 'organization' in self.data.keys() and self.data['organization']:
         organization, created = Organization.objects.get_or_create(name=self.data['organization'])
         popular_proposal.organization = organization
         Enrollment.objects.create(organization=organization,
                                   user=self.proposer)
     popular_proposal.save()
     site = Site.objects.get_current()
     mail_context = {
         'area': self.area,
         'temporary_data': self,
         'moderator': moderator,
         'site': site,
     }
     send_mail(mail_context, 'popular_proposal_accepted', to=[self.proposer.email])
     return popular_proposal
 def send_mail_with_link(self):
     if self.times_email_has_been_sent >= settings.MAX_AMOUNT_OF_MAILS_TO_CANDIDATE:
         return
     send_mail({'contact': self}, 'candidates/join_us_pls', to=[self.mail],)
     self.times_email_has_been_sent += 1
     self.save()
Ejemplo n.º 24
0
 def notify(self):
     for person in self.get_who():
         email = self.get_mail_from(person)
         context = self.get_context(person=person)
         template = self.get_template()
         send_mail(context, template, to=[email])