示例#1
0
def edit(request, fabric_id):
    try:
        fabrics = maas.get_fabrics(fabric_id)
        form = FabricForm(request.POST or None, initial=fabrics)
        if form.is_valid():
            m = MAAS()
            data = form.clean()
            data.update({'id': fabric_id})
            resp = m.put(f'/fabrics/{fabric_id}/', data=data)
            if resp.status_code in m.ok:
                sweetify.sweetalert(request,
                                    'Success',
                                    icon='success',
                                    text=_('Successful'),
                                    button='OK',
                                    timer=2000)
                return redirect('maas:fabrics:index')
            sweetify.sweetalert(request,
                                'Warning',
                                icon='warning',
                                text=_(resp.text),
                                button='Ok',
                                timer=5000)
        context = {'title': 'Ubah Fabric', 'form': form}
    except (MAASError, ConnectionError, TimeoutError) as e:
        sweetify.sweetalert(request,
                            'Warning',
                            text=str(e),
                            icon='error',
                            button='Ok',
                            timer=5000)
        context = None
    return render(request, 'maas/fabrics/add.html', context)
示例#2
0
def edit(request, subnet_id):
    try:
        subnet = maas.get_subnets(subnet_id)
        if not subnet:
            return redirect('maas:subnets:index')
        form = SubnetForm(request.POST or None, initial=subnet)
        if form.is_valid():
            m = MAAS()
            data = form.clean()
            if data['vlan']:
                vl = maas.get_vlans(int(data['vlan']))
                data['vid'] = vl['vid']
                data['fabric'] = vl['fabric_id']
            resp = m.put(f'subnets/{subnet_id}/', data=data)
            if resp.status_code in m.ok:
                sweetify.sweetalert(request, 'Success', text=_('Subnet Update Successfully'), icon='success', timer=2000)
                return redirect('maas:subnets:index')
            sweetify.sweetalert(request, 'Warning', text=_(resp.text), icon='warning', timer=5000)
    except (MAASError, ConnectionError, TimeoutError) as e:
        sweetify.sweetalert(request, 'Warning', text=str(e), icon='error', timer=5000)
        form = None

    context = {
        'title': _('Form Edit Subnet'),
        'form': form
    }
    return render(request, 'maas/subnets/add.html', context)
示例#3
0
def edit(request, vlan_id):
    try:
        vlan = maas.get_vlans(vlan_id)
        form = VlanEditForm(request.POST or None, initial=vlan)
        if form.is_valid():
            m = MAAS()
            data = form.clean()
            fabId = data['fabric_id']
            vid = data['vid']
            resp = m.put(f'fabrics/{fabId}/vlans/{vid}/',data=data)
            if resp.status_code in m.ok:
                sweetify.success(request, _('Vlan Updated Successful'), timer=3000)
                return redirect('maas:subnets:index')
            sweetify.warning(request, _(resp.text), timer=5000)
    except (MAASError, ConnectionError, TimeoutError) as e:
        sweetify.sweetalert(request, 'Warning', icon='error', text=str(e), button='Ok', timer=5000)
        
    context = {
        'title': 'Edit Vlan',
        'form': form
    }
    return render(request, 'maas/vlans/add.html', context)
示例#4
0
def edit(request, space_id):
    try:

        spaces = maas.get_spaces(space_id)
        form = forms.SpacesForm(request.POST or None, initial=spaces)

        if form.is_valid():
            data = form.clean()
            m = MAAS()
            resp = m.put(f'/spaces/{space_id}/', data=data)
            if resp.status_code in m.ok:
                sweetify.success(request, _(
                    'Space Successfully Updated'), timer=2000)
            sweetify.warning(request, _(resp.text), timer=5000)
            return redirect('maas:spaces:index')
    except (MAASError, ConnectionError, TimeoutError) as e:
        form = None
        sweetify.sweetalert(request, 'Warning', icon='error', button='Ok', timer=5000, text=str(e))
    context = {
        'title': _('Edit Space'),
        'form': form
    }
    return render(request, 'maas/spaces/add.html', context)
示例#5
0
def edit_physical(request, system_id, id=None):
    try:
        physical = maas.get_physicals(system_id, id)
        form = PhysicalForm(data=request.POST or None, initial=physical)
        if form.is_valid():
            data = form.clean()
            data.update({'system_id': system_id, 'id': id})
            m = MAAS()
            resp = m.put(f'nodes/{system_id}/interfaces/{id}/', data=data)
            if resp.status_code in m.ok:
                return JsonResponse({
                    'status':
                    'success',
                    'message':
                    _('Edit Interfaces Successfully'),
                    'urlhref':
                    reverse('maas:machines:index')
                })
            else:
                return JsonResponse({
                    'status': 'error',
                    'message': _('Failed Edit Interface')
                })
    except (MAASError, ConnectionError, TimeoutError) as e:
        form = None
        return JsonResponse({'status': 'error', 'message': _(str(e))})

    context = {
        'form': form,
        'url': reverse('maas:machines:edit_physical', args=[system_id, id])
    }

    html = render_to_string('partials/form_core.html',
                            request=request,
                            context=context)
    return JsonResponse({'html': html}, safe=False)
示例#6
0
 def save(self, id):
     cleaned_data = super().clean()
     cleaned_data.update({'id': id})
     maas = MAAS()
     return maas.put(f"domains/{id}/", data=cleaned_data)