def _create_part(creator_profile, asset_data, part_info_data, sn): part_info = PartInfo(**part_info_data) part_info.save(user=creator_profile.user) asset = Asset(part_info=part_info, sn=sn.strip(), created_by=creator_profile, **asset_data) asset.save(user=creator_profile.user) return asset.id
def _create_part(creator_profile, asset_data, part_info_data, sn): part_info = PartInfo(**part_info_data) part_info.save(user=creator_profile.user) asset = Asset( part_info=part_info, sn=sn.strip(), created_by=creator_profile, **asset_data ) asset.save(user=creator_profile.user) return asset.id
def create_asset(self, record_id, roolback=True): obj = ImportRecord.objects.get(id=record_id) date = obj.date or None obj.device_id, crtd = Device.objects.get_or_create(sn=obj.sn) ass = Asset.create( base_args=dict( type=AssetType.data_center, model=AssetModel.concurrent_get_or_create(name=obj.model)[0], category=AssetCategory.concurrent_get_or_create( name=obj.device_type,defaults=dict(type=AssetCategoryType.data_center))[0], invoice_no=obj.fv, price=decimal.Decimal(str(obj.invent_value.replace(',', '.')) or 0), remarks=obj.info + '\n' + 'Inw. name: ' + obj.name, niw=obj.niw, production_use_date=date, source=AssetSource.shipment, sn=obj.sn or None, barcode=obj.barcode or None, deprecation_rate=decimal.Decimal(obj.deprecation_rate.replace(',','.') or 0), warehouse=Warehouse.concurrent_get_or_create(name=obj.dc)[0], ), device_info_args=dict( ralph_device_id=obj.device_id.id, u_level=obj.u_level, u_height=obj.u_height, size=0, rack=obj.rack, ), ) obj.imported = True obj.save() return ass
def _create_device(creator_profile, asset_data, device_info_data, sn, mode, barcode=None): device_info = DeviceInfo() if mode == 'dc': device_info.ralph_device_id = device_info_data['ralph_device_id'] device_info.u_level = device_info_data['u_level'] device_info.u_height = device_info_data['u_height'] device_info.save(user=creator_profile.user) asset = Asset( device_info=device_info, sn=sn.strip(), created_by=creator_profile, **asset_data ) if barcode: asset.barcode = barcode asset.save(user=creator_profile.user) return asset.id
def _create_device(creator_profile, asset_data, device_info_data, sn, mode, barcode=None): device_info = DeviceInfo() if mode == 'dc': device_info.size = device_info_data['size'] device_info.ralph_device_id = device_info_data['ralph_device_id'] device_info.u_level = device_info_data['u_level'] device_info.u_height = device_info_data['u_height'] device_info.save(user=creator_profile.user) asset = Asset( device_info=device_info, sn=sn.strip(), created_by=creator_profile, **asset_data ) if barcode: asset.barcode = barcode asset.save(user=creator_profile.user) return asset.id
def _create_assets(creator_profile, asset_form, additional_form, mode): asset_data = {} for f_name, f_value in asset_form.cleaned_data.items(): if f_name not in { "barcode", "category", "company", "cost_center", "department", "employee_id", "imei", "licences", "manager", "management_ip", "sn", "profit_center", "supports", "segment", }: asset_data[f_name] = f_value force_unlink = additional_form.cleaned_data.pop('force_unlink', None) sns = asset_form.cleaned_data.get('sn', []) barcodes = asset_form.cleaned_data.get('barcode', []) imeis = ( asset_form.cleaned_data.pop('imei') if 'imei' in asset_form.cleaned_data else None ) assets_ids = [] for index in range(len(sns or barcodes)): asset_data['sn'] = sns[index] if sns else None asset_data['barcode'] = barcodes[index] if barcodes else None if imeis: additional_form.cleaned_data['imei'] = imeis[index] cleaned_additional_info = additional_form.cleaned_data if mode == 'dc': asset = Asset(created_by=creator_profile, **asset_data) device_info = DeviceInfo(**cleaned_additional_info) device_info.save(user=creator_profile.user) asset.device_info = device_info asset.save(user=creator_profile.user, force_unlink=force_unlink) elif mode == 'back_office': _move_data(asset_data, cleaned_additional_info, ['purpose']) asset = Asset(created_by=creator_profile, **asset_data) office_info = OfficeInfo() office_info.__dict__.update(**cleaned_additional_info) office_info.coa_oem_os = cleaned_additional_info['coa_oem_os'] office_info.save(user=creator_profile.user) asset.office_info = office_info asset.save(user=creator_profile.user) asset.save(force_unlink=force_unlink) update_management_ip(asset, asset_form.cleaned_data) assets_ids.append(asset.id) return assets_ids
def _create_assets(creator_profile, asset_form, additional_form, mode): asset_data = {} for f_name, f_value in asset_form.cleaned_data.items(): if f_name not in { "barcode", "category", "company", "cost_center", "department", "employee_id", "imei", "licences", "manager", "sn", "profit_center", "supports", }: asset_data[f_name] = f_value force_unlink = additional_form.cleaned_data.get('force_unlink', None) sns = asset_form.cleaned_data.get('sn', []) barcodes = asset_form.cleaned_data.get('barcode', []) imeis = ( asset_form.cleaned_data.pop('imei') if 'imei' in asset_form.cleaned_data else None ) assets_ids = [] for index in range(len(sns or barcodes)): asset_data['sn'] = sns[index] if sns else None asset_data['barcode'] = barcodes[index] if barcodes else None if imeis: additional_form.cleaned_data['imei'] = imeis[index] cleaned_additional_info = additional_form.cleaned_data if mode == 'dc': asset = Asset(created_by=creator_profile, **asset_data) device_info = DeviceInfo() for field in ['ralph_device_id', 'u_level', 'u_height']: setattr(device_info, field, cleaned_additional_info[field]) device_info.save( user=creator_profile.user, ) asset.device_info = device_info asset.save( user=creator_profile.user, force_unlink=cleaned_additional_info['force_unlink'], ) elif mode == 'back_office': _move_data(asset_data, cleaned_additional_info, ['purpose']) asset = Asset(created_by=creator_profile, **asset_data) office_info = OfficeInfo() office_info.__dict__.update(**cleaned_additional_info) office_info.coa_oem_os = cleaned_additional_info['coa_oem_os'] office_info.save(user=creator_profile.user) asset.office_info = office_info asset.save(user=creator_profile.user) asset.save(force_unlink=force_unlink) assets_ids.append(asset.id) return assets_ids