Exemplo n.º 1
0
 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())
Exemplo n.º 2
0
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,)))        
Exemplo n.º 3
0
    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())
Exemplo n.º 4
0
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,)))
Exemplo n.º 5
0
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())
Exemplo n.º 6
0
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())}}
Exemplo n.º 7
0
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()
Exemplo n.º 8
0
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())
Exemplo n.º 9
0
 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())}}))
Exemplo n.º 10
0
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())
Exemplo n.º 11
0
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}
Exemplo n.º 12
0
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())
Exemplo n.º 13
0
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())
            }
    }
Exemplo n.º 14
0
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"))
Exemplo n.º 15
0
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)
Exemplo n.º 16
0
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"))
Exemplo n.º 17
0
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"))
Exemplo n.º 18
0
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"))
Exemplo n.º 19
0
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()
Exemplo n.º 20
0
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}
Exemplo n.º 21
0
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}
Exemplo n.º 22
0
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,)))
Exemplo n.º 23
0
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}
Exemplo n.º 24
0
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())
Exemplo n.º 25
0
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}
Exemplo n.º 26
0
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}
Exemplo n.º 27
0
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())
Exemplo n.º 28
0
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 {}
Exemplo n.º 29
0
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,)))
Exemplo n.º 30
0
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())