Example #1
0
 def get(self, *args, **kwargs):
     mode = _get_mode(self.request)
     self.asset_form = AddDeviceForm(mode=mode)
     self.device_info_form = DeviceForm(
         mode=mode,
         exclude='create_stock',
     )
     return super(AddDevice, self).get(*args, **kwargs)
Example #2
0
 def post(self, *args, **kwargs):
     mode = _get_mode(self.request)
     self.asset_form = AddDeviceForm(self.request.POST, mode=mode)
     self.device_info_form = DeviceForm(self.request.POST, mode=mode)
     if self.asset_form.is_valid() and self.device_info_form.is_valid():
         creator_profile = self.request.user.get_profile()
         asset_data = {}
         for f_name, f_value in self.asset_form.cleaned_data.items():
             if f_name in ["barcode", "sn"]:
                 continue
             asset_data[f_name] = f_value
         serial_numbers = self.asset_form.cleaned_data['sn']
         barcodes = self.asset_form.cleaned_data['barcode']
         ids = []
         for sn, index in zip(serial_numbers, range(len(serial_numbers))):
             barcode = barcodes[index] if barcodes else None
             ids.append(
                 _create_device(
                     creator_profile,
                     asset_data,
                     self.device_info_form.cleaned_data,
                     sn,
                     mode,
                     barcode
                 )
             )
         messages.success(self.request, _("Assets saved."))
         cat = self.request.path.split('/')[2]
         if len(ids) == 1:
             return HttpResponseRedirect(
                 '/assets/%s/edit/device/%s/' % (cat, ids[0])
             )
         else:
             return HttpResponseRedirect(
                 '/assets/%s/bulkedit/?select=%s' % (
                     cat, '&select='.join(["%s" % id for id in ids]))
             )
     else:
         messages.error(self.request, _("Please correct the errors."))
     return super(AddDevice, self).get(*args, **kwargs)
Example #3
0
 def get(self, *args, **kwargs):
     self.asset_form = AddDeviceForm(mode=self.mode)
     device_form_class = self.form_dispatcher('AddDevice')
     self.asset_form = device_form_class(mode=self.mode)
     self._set_additional_info_form()
     return super(AddDevice, self).get(*args, **kwargs)