Example #1
0
def subjects_by_initiative(profile_id):
    initiative_id_list = initiative_dao.all_contributing_initiative_ids(
        profile_id)
    subjects = Initiative.objects.filter(
        id__in=initiative_id_list).values(
        'uuid',
        'short_desc',
        'subject__id',
        'subject__short_desc').order_by('subject__short_desc')
    return subjects
def subject_add(request, initiative_uuid=None):
    system_message = None
    profile_id = request.session['profile_id']
    if request.POST:
        form = SubjectAddForm(request.POST)
        if form.is_valid() == False:
            system_message = 'Error!'
        else:
            if 'initiative_uuid' in request.POST:
                uuid = request.POST['initiative_uuid']
                if uuid != "":
                    initiative_id = initiative_dao.get_pulic_intitiative_id(
                        uuid)
                    # defensive check - make sure submitter id contributor
                    contrib_init = initiative_dao.all_contributing_initiative_ids(
                        profile_id)
                    can_create_subject = False
                    for init_id in contrib_init:
                        if init_id == int(initiative_id):
                            can_create_subject = True
                            break
                    if not can_create_subject:
                        system_message = 'Error! You must be Initiative contributor or sponsor to create subject.'
                    else:
                        short_desc = form.cleaned_data['short_desc']
                        long_desc = form.cleaned_data['long_desc']
                        subject_dao.subject_create(
                            initiative_id,
                            profile_id,
                            short_desc,
                            long_desc,
                            True)
                        system_message = "Subject successfully created."
                        form = SubjectAddForm()
                else:
                    system_message = 'Error! Initiative is required.'
            else:
                system_message = 'Error! Initiative missing'
    else:
        form = SubjectAddForm()

    if initiative_uuid is None:
        #initiatives = initiative_dao.initiative_list_by_profile_id(profile_id)
        initiatives = initiative_dao.all_contributing_initiatives(profile_id)

    else:
        initiatives = None

    return render_to_response('subject_add.html', {
                              'system_message': system_message,
                              'form': form,
                              'initiatives': initiatives,
                              'initiative_uuid': initiative_uuid
                              }, context_instance=RequestContext(request))
Example #3
0
    def obj_get_list(self, request=None, **kwargs):
        user = request.user
        if not user.is_active:
            raise NotFound("User not active")

        user_profile = user.profile

        initiative_id_list = initiative_dao.all_contributing_initiative_ids(
            user_profile.id)

        initiative_list = Initiative.objects.filter(id__in=initiative_id_list)

        return initiative_list
Example #4
0
    def obj_get_list(self, bundle, **kwargs):
        user = bundle.request.user
        if not user.is_active:
            raise NotFound("User not active")

        user_profile = user.profile

        initiative_id_list = initiative_dao.all_contributing_initiative_ids(
            user_profile.id)
        #initiative_id = request.GET.get('initiative_id', '')
        subject_list = Subject.objects.filter(
            initiative_id__in=initiative_id_list, is_public=True)

        return subject_list