def phoneAnnounce(request, announce_id): announcement = get_object_or_404(Announcement, pk=announce_id) if not request.user.has_perm('announce.uniauth') and request.user.profile.member_organization != announcement.member_organization: return HttpResponseRedirect(reverse('announce:announcements')) glean = announcement.glean source = primary_source(announcement.glean) return render(request, 'announce/phone.html', {'announcement':announcement, 'glean':glean, 'source':source})
def populate_recipients(self): self.email_recipients.clear() self.phone_recipients.clear() source = primary_source(self.glean) for recipient in source.counties.people.all().distinct(): if recipient.accepts_email and recipient.tasks_gleaning: if recipient.preferred_method == '1': self.email_recipients.add(recipient.user) else: self.phone_recipients.add(recipient.user)
def sendAnnounce(request, announce_id): announcement = get_object_or_404(Announcement, pk=announce_id) if not request.user.has_perm('announce.uniauth') and request.user.profile.member_organization != announcement.member_organization: return HttpResponseRedirect(reverse('announce:announcements')) if request.method == 'POST' and announcement.sent == False: glean = announcement.glean body = weave_template_and_body_and_glean(announcement.template, announcement, glean) source = primary_source(announcement.glean) mail_from_source(source, body, announcement) announcement.sent = True announcement.sent_by = request.user announcement.save() return HttpResponseRedirect(reverse('announce:detailannounce', args=(announce_id,))) else: return HttpResonseRedirect(reverse('announce:combinedannounce', args=(annouce_id,)))
def detailAnnounce(request, announce_id): announcement = get_object_or_404(Announcement, pk=announce_id) if not request.user.has_perm('announce.uniauth') and request.user.profile.member_organization != announcement.member_organization: return HttpResponseRedirect(reverse('announce:announcements')) body = weave_template_and_body_and_glean(announcement.template, announcement, announcement.glean) glean = announcement.glean source = primary_source(announcement.glean) if request.method == 'POST' and announcement.sent == False: mail_from_source(source, body, announcement) announcement.sent = True announcement.sent_by = request.user announcement.save() return HttpResponseRedirect(reverse('announce:detailannounce', args=(announce_id,))) else: return render(request, 'announce/announce_detail.html', {'announcement':announcement, 'test':body, 'glean':glean, 'source':source})
def combinedAnnounce(request, announce_id): announce = get_object_or_404(Announcement, pk=announce_id) profile = request.user.profile if not request.user.has_perm('announce.uniauth') and profile.member_organization != announce.member_organization: return HttpResponseRedirect(reverse('announce:detailannounce', args=(announce_id,))) #return HttpResponse(announce.template.body) glean = announce.glean if announce.title: subject = announce.title else: subject = glean.title body = weave_template_and_body_and_glean(announce.template, announce, glean) templates = Template.objects.filter(member_organization=profile.member_organization) source = primary_source(announce.glean) recipients = [] phone = [] for county in source.counties.all(): for recipient in county.people.all(): if recipient not in recipients and recipient.accepts_email and recipient.preferred_method == '1': recipients.append(recipient) elif recipient.preferred_method == '2' and recipient.accepts_email and recipient not in phone: phone.append(recipient) if request.method == 'POST': form = AnnouncementForm(request.POST) if form.is_valid(): new_save = form.save(commit=False) new_save.member_organization = announce.member_organization new_save.glean = announce.glean new_save.datetime = announce.datetime new_save.id = announce.id new_save.save() return HttpResponseRedirect(reverse('announce:combinedannounce', args=(new_save.id,))) else: return render(request, 'announce/combined_announce.html', {'glean':announce.glean, 'templates':templates, 'form':form, 'recipients':recipients, 'phone':phone,'source':source, 'subject':subject}) else: templates = Template.objects.all() form = AnnouncementForm(instance=announce) if not request.user.has_perm('announce.uniauth'): form.fields['template'].queryset = Template.objects.filter(member_organization=profile.member_organization) return render(request, 'announce/combined_announce.html', {'glean':announce.glean, 'announcement':announce,'templates':templates, 'form':form, 'phone':phone,'recipients':recipients, 'source':source, 'test':body, 'subject':subject})
def editAnnounce(request, announce_id): announce = get_object_or_404(Announcement, pk=announce_id) profile = request.user.profile if not request.user.has_perm('announce.uniauth') and profile.member_organization != announce.member_organization: return HttpResponseRedirect(reverse('announce:detailannounce', args=(announce_id,))) templates = Template.objects.all(member_organization=profile.member_organization) source = primary_source(announce.glean) if request.method == 'POST': form = AnnouncementForm(request.POST) if form.is_valid(): new_save = form.save(commit=False) new_save.member_organization = announce.member_organization new_save.glean = announce.glean new_save.datetime = announce.datetime new_save.id = announce.id new_save.save() return HttpResponseRedirect(reverse('announce:detailannounce', args=(new_save.id,))) else: return render(request, 'announce/edit_announce.html', {'glean':announce.glean, 'templates':templates, 'form':form, 'recipients':recipients, 'source':source}) else: templates = Template.objects.all() form = AnnouncementForm(instance=announce) return render(request, 'announce/edit_announce.html', {'glean':announce.glean, 'templates':templates, 'form':form, 'source':source})