Esempio n. 1
0
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
Esempio n. 2
0
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
Esempio n. 3
0
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
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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