def setUp(self): self.group, created = Group.objects.get_or_create(name='test') self.user, created = DjangoUser.objects.get_or_create( username=self.username) self.user.set_password(self.password) self.user.save() perspective, created = Perspective.objects.get_or_create( name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.type = ItemType(name='test') self.type.set_default_user() self.type.save() self.status = ItemStatus(name='test') self.status.set_default_user() self.status.save() self.field = ItemField(name='test', label='test', field_type='text') self.field.set_default_user() self.field.save() self.item = Item(name='test', item_type=self.type, status=self.status) self.item.set_default_user() self.item.save() self.value = ItemValue(field=self.field, item=self.item) self.value.save() self.servicing = ItemServicing(name='test') self.servicing.set_default_user() self.servicing.save()
def test_model_item_type(self): "Test item type model" obj = ItemType(name='test') obj.save() self.assertEquals('test', obj.name) self.assertNotEquals(obj.id, None) obj.delete()
def type_add(request, response_format='html'): "ItemType add" if not request.user.profile.is_admin('anaf.infrastructure'): return user_denied( request, message= "You don't have administrator access to the Infrastructure module", response_format=response_format) if request.POST: if 'cancel' not in request.POST: item_type = ItemType() form = ItemTypeForm(request.user.profile, request.POST, instance=item_type) if form.is_valid(): item = form.save(request) item_type.set_user_from_request(request) return HttpResponseRedirect( reverse('infrastructure_type_view', args=[item.id])) else: return HttpResponseRedirect( reverse('infrastructure_settings_view')) else: form = ItemTypeForm(request.user.profile) context = _get_default_context(request) context.update({'form': form}) return render_to_response('infrastructure/item_type_add', context, context_instance=RequestContext(request), response_format=response_format)
def itemFromXML(item_idmap, itemel): if itemel.tag != 'item': raise ValueError(f"Got element '{itemel.tag}', expecting 'item'.") itemid = itemel.attrib['id'] if not _checkXMLHasNoText(itemel): raise ValueError(f"Invalid item {itemid}") if itemid in item_idmap: raise ValueError(f"Item {itemid} defined twice.") name = itemel.attrib.get('name', itemid) time = itemel.attrib.get('time', None) produced = itemel.attrib.get('produced', None) if (produced is None) != (time is None): raise ValueError(f"Invalid item '{itemid}'.") if time is not None: time = _F(time) produced = int(produced) ingredients = [] for ingredientel in itemel.getchildren(): if ingredientel.tag != 'ingredient': raise ValueError(f"Item {itemid} has {ingredientel.tag}") ingid = ingredientel.attrib['idref'] if not _checkXMLHasNoText(ingredientel): raise ValueError(f"Invalid ingredient '{ingid}' in '{itemid}'") ingcount = int(ingredientel.attrib['count']) if ingid not in item_idmap: raise ValueError(f"Item '{itemid}' mentions ingredient " f"'{ingid}' before it's defined.") ingredients.append((ingcount, item_idmap[ingid])) if (len(ingredients) > 0) and (time is None): raise ValueError(f"Item '{itemid}' has ingredients but " "no production time.") return (itemid, ItemType(name, time, tuple(ingredients), produced))
def item_type_save(): try: new_item_type = ItemType(**request.form) db.session.add(new_item_type) db.session.commit() except BaseException as error: return str(error), 400 return "success", 200
def create_item_type(): request_json = request.json name = request_json.get('name') try: item_type = ItemType(name=name) except: return '', HTTPStatus.CONFLICT db.session.add(item_type) db.session.commit() return jsonify(item_type), HTTPStatus.CREATED
def test_model_item(self): "Test item model" type = ItemType(name='test') type.save() status = ItemStatus(name='test') status.save() obj = Item(name='test', item_type=type, status=status) obj.save() self.assertEquals('test', obj.name) self.assertNotEquals(obj.id, None) obj.delete()
def post_item_type(): if not request.is_json: abort(400, "The request payload is not in JSON format") else: try: data = request.get_json() if data["name"] is None: abort(422) else: item_type = ItemType(name=data["name"]) db.session.add(item_type) db.session.commit() return jsonify(item_type.serialize()) except Exception as e: return abort(e.code, e)
def test_model_item_value(self): "Test item value model" status = ItemStatus(name='test') status.save() type = ItemType(name='test') type.save() item = Item(name='test', item_type=type, status=status) item.save() field = ItemField(name='test', label='test', field_type='text') field.save() obj = ItemValue(value='test', field=field, item=item) obj.save() self.assertEquals('test', obj.value) self.assertNotEquals(obj.id, None) obj.delete()