def remove_tag(self, request, tag_set_id, tag_id, target_id): self.__init__(target=get_or_404_by_account(self.TargetModel, request.account, target_id, using='default'), tag_set_id=tag_set_id) success = False t = get_or_404_by_account(Tag, request.account, tag_id) person = get_or_404_by_account(Person, request.account, target_id) t.remove_tag_from_person(person=person) success = True return self._return_fragments_or_redirect(request,locals())
def remove_employee(request, org_id, emp_id): org = get_or_404_by_account(Organization, request.account, org_id, using='default') emp = get_or_404_by_account(Employee, request.account, emp_id, using='default') try: assert emp.organization == org emp.delete() success = True except: success = False if request.is_ajax(): return json_view({"success":success}) else: return HttpResponseRedirect(reverse("organizations:organization",args=(org.pk,)))
def create_tag(self, request, tag_set_id, target_id): success = False self.__init__(target=get_or_404_by_account(self.TargetModel, request.account, target_id, using='default'), tag_set_id=tag_set_id) new_tag = request.REQUEST['new_tag'].strip() if new_tag != "": ts = get_or_404_by_account(TagSet, request.account, tag_set_id) person = get_or_404_by_account(Person, request.account, target_id) t = Tag.create_new_tag(tagset=ts,name=new_tag) # Needed to trigger group creation. t.save() t.add_tag_to_person(person) success = True return self._return_fragments_or_redirect(request,locals())
def existing_person_via_organization(request, org_id): org = get_or_404_by_account(Organization, request.account, org_id, using='default') try: person_id = int(request.POST['person_pk']) person = get_or_404_by_account(Person, request.account, person_id, using='default') (form, form_new_person, form_employee, employee_formset) = _org_forms(org, request) if form_employee.is_valid(): employee = form_employee.save(commit=False) employee.person = person employee.organization = org employee.save() except: pass return HttpResponseRedirect(reverse("organizations:organization",args=(org.pk,)))
def delete_conversation_from_people_tab(request, conversation_id): c = get_or_404_by_account(Conversation, request.account, conversation_id, using="default") person = c.person c.delete() obj = person return _return_fragments_or_redirect(request, locals())
def group_count(request): group_id = request.GET['group_id'] if group_id: group = get_or_404_by_account(Group, request.account, group_id) members = group.members else: members = Person.objects_by_account(request.account).all() return {"fragments":{"group_count":render_to_string("spreadsheets/_group_count.html", locals())}}
def organization(request, org_id): section = "organizations" org = get_or_404_by_account(Organization, request.account, org_id) (form, form_new_person, form_employee, employee_formset) = _org_forms(org, request) if form.is_valid(): form.save() return locals()
def delete_completed_volunteer_from_people_tab(request, volunteer_shift_id): cs = get_or_404_by_account(CompletedShift, request.account, volunteer_shift_id, using='default') volunteer = cs.volunteer person = volunteer.person cs.delete() obj = volunteer return _return_fragments_or_redirect(request,locals())
def new_tag_search_results(self, request, tag_set_id, target_id): self.__init__(target=get_or_404_by_account(self.TargetModel, request.account, target_id), tag_set_id=tag_set_id) all_tags = False if 'q' in request.GET: q = request.GET['q'] if q != "": all_tags = self._all_tags_for_tagset.filter(name__icontains=q).order_by("name")[:5] return HttpResponse(simplejson.dumps({"fragments":{"new_%s_tag_search_results" % self.tag_set_id:render_to_string("generic_tags/_new_tag_search_results.html", locals())}}))
def delete_donation_from_people_tab(request, donation_id): d = get_or_404_by_account(Donation, request.account, donation_id, using='default') donor = d.donor person = donor.person d.delete() obj = donor return _return_fragments_or_redirect(request,locals())
def save_organization_employees(request, org_id): org = get_or_404_by_account(Organization, request.account, org_id, using='default') (form, form_new_person, form_employee, employee_formset) = _org_forms(org, request) success = False if employee_formset.is_valid(): employee_formset.save() success = True return {"success":success}
def save_status(request, volunteer_id): volunteer = get_or_404_by_account(Volunteer, request.account, volunteer_id, using='default') person = volunteer.person if request.method == "POST": status_form = VolunteerStatusForm(request.POST, prefix=VOLUNTEER_STATUS_PREFIX, instance=volunteer, account=request.account) if status_form.is_valid(): status_form.save() return _return_fragments_or_redirect(request,locals())
def group_members_partial(request, group_id): group = get_or_404_by_account(Group, request.account, group_id) group_members = group.members.using('default') return { "fragments":{ "group_member_count":render_to_string("groups/_group_member_count.html", locals()), "group_member_list":render_to_string("groups/_group_member_list.html", locals()) } }
def delete_person(request): try: if request.method == "POST": pk = request.POST['person_pk'] person = get_or_404_by_account(Person, request.account, pk) person.delete() except: pass return HttpResponseRedirect(reverse("people:search"))
def download_resized(request, logo_id): logo = get_or_404_by_account(Logo, request.account, logo_id) width = int(request.GET['width']) height = int(request.GET['height']) w_by_h = "%sx%s" %(width,height) if "crop" in request.GET: im = get_thumbnail(logo.image, w_by_h, crop='center') else: im = get_thumbnail(logo.image, w_by_h, ) return HttpResponseRedirect(im.url)
def delete_group(request): try: if request.method == "POST": pk = request.POST['group_pk'] group = get_or_404_by_account(Group, request.account, pk, using='default') group.delete() except: pass return HttpResponseRedirect(reverse("groups:search"))
def delete(request): try: if request.method == "POST": pk = request.POST['spreadsheet_pk'] spreadsheet = get_or_404_by_account(Spreadsheet, request.account, pk, using='default') spreadsheet.delete() except: pass return HttpResponseRedirect(reverse("spreadsheets:search"))
def delete_organization(request): try: if request.method == "POST": pk = request.POST['org_pk'] org = get_or_404_by_account(Organization, request.account, pk) org.delete() except: pass return HttpResponseRedirect(reverse("organizations:search"))
def spreadsheet(request, spreadsheet_id): spreadsheet = get_or_404_by_account(Spreadsheet, request.account, spreadsheet_id) form = _basic_forms(spreadsheet, request, no_data=True) members = spreadsheet.people spreadsheet_templates = SPREADSHEET_TEMPLATES section = "spreadsheets" return locals()
def save_person_basic_info(request, person_id): person = get_or_404_by_account(Person, request.account, person_id) (form, employee_formset) = _basic_forms(person, request) success = False if form.is_valid() and employee_formset.is_valid(): person = form.save() employee_formset.save() success = True save_action.delay(request.account, request.useraccount, "updated a person", person=person,) return {"success":success}
def save_basic_info(request, spreadsheet_id): spreadsheet = get_or_404_by_account(Spreadsheet, request.account, spreadsheet_id, using='default') form = _basic_forms(spreadsheet, request) success = False if form.is_valid(): spreadsheet = form.save() success = True save_action.delay(request.account, request.useraccount, "updated a spreadsheet", spreadsheet=spreadsheet,) # form = _basic_forms(spreadsheet, request, no_data=True) return {"success":success}
def new_person_via_organization(request, org_id): org = get_or_404_by_account(Organization, request.account, org_id, using='default') (form, form_new_person, form_employee, employee_formset) = _org_forms(org, request) if form_new_person.is_valid(): person = form_new_person.save() success = True if form_employee.is_valid(): employee = form_employee.save(commit=False) employee.person = person employee.organization = org employee.save() return HttpResponseRedirect(reverse("organizations:organization",args=(org.pk,)))
def save_organization_basic_info(request, org_id): org = get_or_404_by_account(Organization, request.account, org_id, using='default') (form, form_new_person, form_employee, employee_formset) = _org_forms(org, request) success = False if form.is_valid(): form.save() try: transaction.commit() except: pass save_action.delay(request.account, request.useraccount, "updated an organization", organization=org) success = True return {"success":success}
def save_completed_volunteer_shift(request, volunteer_id): volunteer = get_or_404_by_account(Volunteer, request.account, volunteer_id, using='default') person = volunteer.person if request.method == "POST": form = NewShiftForm(request.POST, account=request.account) if form.is_valid(): completed_shift = form.save(commit=False) completed_shift.volunteer = volunteer completed_shift.save() try: transaction.commit() except: pass save_action.delay(request.account, request.useraccount, "added a volunteer shift", person=person, shift=completed_shift) obj = volunteer return _return_fragments_or_redirect(request,locals())
def queue_generation(request): success = True file_type = request.GET['type'] spreadsheet_id = request.GET['spreadsheet_id'] spreadsheet = get_or_404_by_account(Spreadsheet, request.account, spreadsheet_id) downloaded_spreadsheet = DownloadedSpreadsheet.objects.create( account=request.account, name=spreadsheet.full_name, num_records = spreadsheet.num_rows, file_type = spreadsheet.default_filetype, spreadsheet=spreadsheet, ) generate_spreadsheet.delay(request.account.id, request.useraccount.id, spreadsheet.id, downloaded_spreadsheet.id, file_type) save_action.delay(request.account, request.useraccount, "generated a spreadsheet", spreadsheet=spreadsheet,) return {"success": success}
def save_basic_info(request, group_id): group = get_or_404_by_account(Group, request.account, group_id, using='default') form, rule_formset = _basic_forms(group, request) success = False if rule_formset.is_valid(): rule_formset.save() if form.is_valid(): group = form.save() jcache.invalidate(GroupSearchProxy) success = True form, rule_formset = _basic_forms(group, request, no_data=True) return {"success":success}
def save_new_donation(request, donor_id): donor = get_or_404_by_account(Donor, request.account, donor_id, using='default') person = donor.person obj = donor if request.method == "POST": form = NewDonationForm(request.POST, account=request.account) if form.is_valid(): new_donation = form.save(commit=False) new_donation.donor = donor new_donation.save() try: transaction.commit() except: pass save_action.delay(request.account, request.useraccount, "added a donation", person=person, donation=new_donation) else: print form return _return_fragments_or_redirect(request,locals())
def tab_contents(request, person_id, tab_name=None): success = False person = get_or_404_by_account(Person, request.account, person_id) html = None if not tab_name and 'tab_name' in request.POST: tab_name = request.POST['tab_name'].strip()[1:] if request.method == "POST": if tab_name == "conversations": html = _render_people_conversations_tab(locals()) elif tab_name == "recent_activity": html = _render_people_recent_activity_tab(locals()) elif tab_name == "tags": html = _render_people_tag_tab(locals()) elif tab_name == "volunteer": html = _render_people_volunteer_tab(locals()) elif tab_name == "donor": html = _render_people_donor_tab(locals()) if html: return {"fragments":{"detail_tab":html}} else: return {}
def more_conversations(request, person_id, start_index): start_index = int(start_index) person = get_or_404_by_account(Person, request.account, person_id, using="default") new_start_index = start_index + MORE_CONVERSATIONS_SIZE conversations = person.conversations.all()[start_index:new_start_index] there_are_more_conversations = person.conversations.all().count() > new_start_index if request.is_ajax(): return HttpResponse( simplejson.dumps( { "fragments": { "more_conversations": render_to_string( "conversations/_more_conversations.html", RequestContext(request, locals()) ) } } ) ) else: return HttpResponseRedirect(reverse("people:person", args=(person.pk,)))
def save_new_conversation(request, person_id): person = get_or_404_by_account(Person, request.account, person_id, using="default") obj = person if request.method == "POST": form = NewConversationForm(request.POST, account=request.account) if form.is_valid(): new_conversation = form.save(commit=False) new_conversation.person = person new_conversation.save() try: transaction.commit() except: pass save_action.delay( request.account, request.useraccount, "added a conversation", person=person, conversation=new_conversation, ) else: print form return _return_fragments_or_redirect(request, locals())