def TempSave(request, id_number=0): try: project = Object.objects.get(id=int(id_number)) except ObjectDoesNotExist: if id_number != 0: return HttpResponse('Об’єкт не існує.<br>Спробуйте інший id.') else: project = Object(name='Новий') if request.method == 'POST': form = TempSaveForm(request.POST, request.FILES) if form.is_valid(): cd = form.cleaned_data act = Activity(time_stamp=dt.now(), aim=project, type='Приймання на тимчасове зберігання', actor=Custom.myUser.objects.get(username=request.user.username)) act.save() project.reason = cd['reason'] project.save() for (k, v) in cd.items(): if k=='material': v = unicode(v[1:-1].replace('u\'', '').replace('\'', '')) attr_assign = AttributeAssignment(attr_name=k, attr_value=v, attr_label=form.fields[k].label, event_initiator=act, aim=project) attr_assign.save() return HttpResponseRedirect('/') else: return render(request, 'AddOnTs.html', {'form': form}) else: data = {'name': project.name, 'is_fragment': project.is_fragment, 'amount': project.amount, 'date_creation': project.date_creation, 'place_of_creation': project.place_of_creation, 'author': project.author, 'technique': project.technique, 'material': project.material.decode('unicode-escape').split(', '), 'size': project.size, 'condition': project.condition, 'condition_descr': project.condition_descr, 'description': project.description, 'price': project.price, 'note': project.note} form = TempSaveForm(initial=data) return render(request, 'AddOnTs.html', {'form': form, 'label': 'Прийняти об’єкт на ТЗ'})
def Passport(request, id_number): try: project = Object.objects.get(id=int(id_number)) except ObjectDoesNotExist: if id_number != '0': return HttpResponse('Об’єкт не існує.<br>Спробуйте інший id.') else: project = Object(name='Новий') if request.method == 'POST': form = PassportForm(request.POST) if form.is_valid(): cd = form.cleaned_data project.save() act = Activity(time_stamp=dt.now(), aim = project, type='Науково-уніфікований паспорт', actor=Custom.myUser.objects.get(username=request.user.username)) act.save() for (k, v) in cd.items(): if k=='material': v = unicode(v[1:-1].replace('u\'', '').replace('\'', '')) attr_assign = AttributeAssignment(attr_name=k, attr_value=v, attr_label=form.fields[k].label, event_initiator=act, aim=project) attr_assign.save() return HttpResponseRedirect('/') else: return render(request, 'AddOnTs.html', {'form': form, 'errors': form.errors}) else: collection = get_attrib_assigns('Інвентарний облік', project, 'collection') ps_code = get_attrib_assigns('Приймання на постійне зберігання', project, 'PS_code') inventory_number = get_attrib_assigns('Інвентарний облік', project, 'inventory_number') spec_inventory_numb = get_attrib_assigns('Спеціальний інвентарний облік', project, 'spec_inventory_numb') old_inventory_numbers = get_attrib_assigns('Інвентарний облік' or 'Приймання на постійне зберігання',project, 'old_registered_marks') date_place_creation = ' '.join([project.date_creation, project.place_of_creation]) date_place_detection = ' '.join([project.date_detection, project.place_detection]) date_place_existence = ' '.join([project.date_existence, project.place_existence]) source = get_attrib_assigns('Приймання на постійне зберігання', project, 'source') classify = get_attrib_assigns('Інвентарний облік', project, 'classify') typology = get_attrib_assigns('Інвентарний облік', project, 'typology') metals = get_attrib_assigns('Спеціальний інвентарний облік', project, 'metals') stones = get_attrib_assigns('Спеціальний інвентарний облік', project, 'stones') bibliography = get_attrib_assigns('Інвентарний облік', project, 'bibliography') data = {'collection': collection, 'PS_code': ps_code, 'inventory_number': inventory_number, 'spec_inventory_numb': spec_inventory_numb, 'old_inventory_numbers': old_inventory_numbers, 'identifier': project.identifier, 'storage': project.storage, 'name': project.name, 'author': project.author, 'date_place_creation': date_place_creation, 'date_place_detection': date_place_detection, 'date_place_existence': date_place_existence, 'source': source, 'way_of_found': project.way_of_found, 'link_on_doc': project.link_on_doc, 'classify': classify, 'typology': typology, 'amount': project.amount, 'size': project.size, 'material': project.material.decode('unicode-escape').split(', '), 'technique': project.technique, 'metals': metals, 'stones': stones, 'description': project.description, 'condition': project.condition, 'condition_descr': project.condition_descr, 'recomm_for_restauration': project.recomm_for_restauration, 'transport_possibility': project.transport_possibility, 'price': project.price, 'bibliography': bibliography} form = PassportForm(initial=data) return render(request, 'AddOnTs.html', {'form': form, 'label': 'Створити науково-уніфікований паспорт об’єкта'})
def create_object(sender, title, url, time, **kwargs): title = title url = url time = time if not Object.objects.filter(url=url).exists(): new_object = Object( title = title, url = url, time = time, branch = sender.__class__.__name__, ) new_object.save()
def setObject(request, flag, oid, mid, name, category): if request.user.is_authenticated(): try: newName = replace(name, "_", " ") newCategory = replace(category, "_", " ") newMid = int(mid) o = Object(category=newCategory, name=newName, mid=Map.objects.get(mid=newMid), lock=False) o.save() #return success() return HttpResponse("insert_"+str(o.oid)) except: return empty() return failure()
def post(self, request, *args, **kwargs): form_class = self.get_form_class() form = self.get_form(form_class) if form.is_valid(): user = request.user character = Character(user=user, name=request.POST['name'], gender=request.POST['gender']) character.save() food = Object(obj_type=1) food.character = character food.save() bandage = Object(obj_type=2) bandage.character = character bandage.save() return HttpResponseRedirect('/') return self.form_valid(form, **kwargs) else: return self.form_invalid(form, **kwargs)
def newObject(request): title = "New Object" if request.method == 'POST': # If the form has been submitted... form = ObjectForm(request.POST) # A form bound to the POST data if form.is_valid(): # All validation rules pass country = form.cleaned_data['country'] city = form.cleaned_data['city'] zipcode = form.cleaned_data['zipcode'] street = form.cleaned_data['street'] housenumber = form.cleaned_data['housenumber'] lon, lat = util.getLonLat(country, city, zipcode, street, housenumber) l = Location( country = country, city = city, zipcode = zipcode, street = street, housenumber = housenumber, longitude = lon, latitude = lat ) l.save() randID = ''.join(random.choice(string.ascii_lowercase + string.digits) for x in range(10)) o = Object( name = form.cleaned_data['name'], description = form.cleaned_data['description'], secretID = randID, submissionDate = datetime.datetime.now(), sender = request.user, destination = l ) o.save() return HttpResponseRedirect('/object/{0}'.format(o.id)) # Redirect after POST else: message = "The entered information wasn't valid. please check it." t = loader.get_template('main/newobject.html') ontext = util.generateContext(request, contextType = 'RequestContext', form=form, message=message, title=title) return HttpResponseServerError(t.render(context)) else: form = ObjectForm() # An unbound form context = util.generateContext(request, contextType = 'RequestContext', form = form, title=title) return render_to_response('main/newobject.html', context)
def AddOnSpecInventorySave(request, id_number): try: project = Object.objects.get(id=int(id_number)) except ObjectDoesNotExist: if id_number != '0': return HttpResponse('Об’єкт не існує.<br>Спробуйте інший id.') else: project = Object(name='Новий') if request.method == 'POST': form = SpecInventorySaveForm(request.POST) if form.is_valid(): cd = form.cleaned_data act = Activity(time_stamp=dt.now(), aim = project, type='Спеціальний інвентарний облік', actor=Custom.myUser.objects.get(username=request.user.username)) act.save() project.save() for (k, v) in cd.items(): if k=='material': v = unicode(v[1:-1].replace('u\'', '').replace('\'', '')) attr_assign = AttributeAssignment(attr_name=k, attr_value=v, attr_label=form.fields[k].label, event_initiator=act, aim=project) attr_assign.save() return HttpResponseRedirect('/') else: return render(request, 'AddOnTs.html', {'form': form, 'errors': form.errors}) else: ps_code = get_attrib_assigns('Приймання на постійне зберігання', project, 'PS_code') inventory_number = get_attrib_assigns('Інвентарний облік', project, 'inventory_number') mat_person_in_charge = get_attrib_assigns('Інвентарний облік' or 'Приймання на постійне зберігання', project, 'mat_person_in_charge') data = {'name': project.name, 'is_fragment': project.is_fragment, 'amount': project.amount, 'author': project.author, 'date_creation': project.date_creation, 'place_of_creation': project.place_of_creation, 'size': project.size, 'description': project.description, 'condition': project.condition, 'condition_descr': project.condition_descr, 'recomm_for_restauration': project.recomm_for_restauration, 'note': project.note, 'price': project.price, 'PS_code': ps_code, 'inventory_number': inventory_number, 'link_on_doc': project.link_on_doc, 'mat_person_in_charge': mat_person_in_charge, 'storage': project.storage} form = SpecInventorySaveForm(initial=data) return render(request, 'AddOnTs.html', {'form': form, 'label': 'Взяти об’єкт на спеціальний інвентарний облік'})