Beispiel #1
0
    def save(self, request):
        "Process form and create DB objects as required"

        if self.instance:
            item = self.instance
        else:
            item = Item()
            item.item_type = self.item_type

        item.name = unicode(self.cleaned_data['name'])
        item.parent = self.cleaned_data['parent']
        item.status = self.cleaned_data['status']
        item.manufacturer = self.cleaned_data['manufacturer']
        item.supplier = self.cleaned_data['supplier']
        item.owner = self.cleaned_data['owner']
        item.location = self.cleaned_data['location']
        item.asset = self.cleaned_data['asset']

        if not item.id:
            item.set_user_from_request(request)
        item.save()
        if self.instance:
            item.itemvalue_set.all().delete()
        for field in item.item_type.fields.all():
            for form_name in self.cleaned_data:
                if re.match(str("^" + field.name + "___\d+$"), form_name):
                    value = None
                    if isinstance(self.fields[form_name], forms.FileField):
                        value = ItemValue(
                            field=field,
                            item=item,
                            value=self._handle_uploaded_file(form_name))
                        if isinstance(self.fields[form_name],
                                      forms.ImageField):
                            self._image_resize(value.value)
                    else:
                        if field.field_type == 'picture' and isinstance(
                                self.fields[form_name], forms.ChoiceField):
                            if self.cleaned_data[form_name] != 'delete':
                                value = ItemValue(
                                    field=field,
                                    item=item,
                                    value=self.cleaned_data[form_name])
                        else:
                            value = ItemValue(
                                field=field,
                                item=item,
                                value=self.cleaned_data[form_name])
                    if value:
                        if not value.value:
                            value.value = ''
                        value.save()

        return item
Beispiel #2
0
    def setUp(self):
        "Initial Setup"
        if not self.prepared:
            self.group, created = Group.objects.get_or_create(name='test')
            duser, created = DjangoUser.objects.get_or_create(
                username=self.username)
            duser.set_password(self.password)
            duser.save()
            self.user, created = User.objects.get_or_create(user=duser)
            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()

            self.client = Client()

            self.prepared = True
Beispiel #3
0
 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()
Beispiel #4
0
 def setUp(self):
     "Initial Setup"
     if not self.prepared:
         # Clean up first
         Object.objects.all().delete()
         
         # Create objects
         try:
             self.group = Group.objects.get(name='test')
         except Group.DoesNotExist:
             Group.objects.all().delete()
             self.group = Group(name='test')
             self.group.save()
         
         try:
             self.user = DjangoUser.objects.get(username=self.username)
             self.user.set_password(self.password)
             try:
                 self.profile = self.user.get_profile()
             except Exception:
                 User.objects.all().delete()
                 self.user = DjangoUser(username=self.username, password='')
                 self.user.set_password(self.password)
                 self.user.save()
         except DjangoUser.DoesNotExist:
             User.objects.all().delete()
             self.user = DjangoUser(username=self.username, password='')
             self.user.set_password(self.password)
             self.user.save()
             
         try:
             perspective = Perspective.objects.get(name='default')
         except Perspective.DoesNotExist:
             Perspective.objects.all().delete()
             perspective = Perspective(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()      
         
         self.client = Client()
         
         self.prepared = True