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))
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
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