def add_ARKSetMember(request): sets = request.user.arkset_set.all() set_choices = [(s.id, str(s)) for s in sets] if request.method == 'POST': #on post, don't create an arkobject? # want to forward to the chosen form = ARKSetMemberAddForm(request.POST) form['set'].field.choices = set_choices if form.is_valid(): #send to selected set members/add page? return add_MemberToARKSet(request, form.cleaned_data['set'], form.cleaned_data['object']) else: #form = ARKSetMemberForm(initial={'object':arkobject.id, }) #all this to get ark if request.method == 'GET': if request.GET.get('ark',None): try: arkobject, newARK = ARKObject._get_or_create(request.GET['ark']) except ARKInvalid, e: msg = ''.join(('Bad Request: ARK invalid : ', str(e))) return HttpResponseBadRequest(content=msg) else: return HttpResponseBadRequest(content='Bad Request: No ARK given') #form = ARKSetMemberForm(initial={'object':arkobject, 'set':sets, }) form = ARKSetMemberAddForm(initial={'object':arkobject, 'set':set_choices, }) form['set'].field.choices = set_choices
def testGetOrCreateARKObject(self): arkobj, created = ARKObject.get_or_create(ark="ark:/13030/kt9r29q5fs") self.failUnlessEqual(created, False)