Example #1
0
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})
Example #2
0
 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)
Example #3
0
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,)))
Example #4
0
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})
Example #5
0
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})
Example #6
0
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})