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)
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)
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)
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)
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)
def save(self, id): cleaned_data = super().clean() cleaned_data.update({'id': id}) maas = MAAS() return maas.put(f"domains/{id}/", data=cleaned_data)