diff --git a/apps/main/forms.py b/apps/main/forms.py index d57dc4e..ab8a5a2 100644 --- a/apps/main/forms.py +++ b/apps/main/forms.py @@ -2,6 +2,7 @@ from django import forms from django.utils.safestring import mark_safe from .models import Device, Experiment, Campaign, Location from apps.main.models import Configuration +from django.template.defaultfilters import default FILE_FORMAT = ( ('json', 'json'), @@ -181,3 +182,11 @@ class FilterForm(forms.Form): self.fields['template'] = forms.BooleanField(required=False) else: self.fields[field] = forms.CharField(required=False) + +class ChangeIpForm(forms.Form): + + ip_address = forms.GenericIPAddressField() + mask = forms.GenericIPAddressField(initial='255.255.255.0') + gateway = forms.GenericIPAddressField(initial='0.0.0.0') + + diff --git a/apps/main/models.py b/apps/main/models.py index f8d82d9..e3b759e 100644 --- a/apps/main/models.py +++ b/apps/main/models.py @@ -1,5 +1,6 @@ from datetime import datetime +from django.template.base import kwarg_re try: from polymorphic.models import PolymorphicModel @@ -10,6 +11,7 @@ from django.db import models from django.core.urlresolvers import reverse from django.shortcuts import get_object_or_404 +from devices.dds import api as dds_api EXP_STATES = ( (0,'Error'), #RED @@ -133,6 +135,32 @@ class Device(models.Model): return reverse('url_device', args=[str(self.id)]) + def change_ip(self, ip_address, mask, gateway, **kwargs): + + if self.device_type.name=='dds': + try: + #if True: + answer = dds_api.change_ip(ip = self.ip_address, + port = self.port_address, + new_ip = ip_address, + mask = mask, + gateway = gateway) + if answer[0]=='1': + self.message = 'DDS - {}'.format(answer) + self.ip_address = ip_address + self.save() + else: + self.message = 'DDS - {}'.format(answer) + return False + except Exception as e: + self.message = str(e) + return False + else: + self.message = 'Not implemented' + return False + + return True + class Campaign(models.Model): diff --git a/apps/main/templates/confirm.html b/apps/main/templates/confirm.html index d176cda..1f54529 100644 --- a/apps/main/templates/confirm.html +++ b/apps/main/templates/confirm.html @@ -1,4 +1,5 @@ {% extends 'base.html' %} +{% load bootstrap3 %} {% block content-title %}{{title}}{% endblock %} {% block content-suptitle %}{{suptitle}}{% endblock %} @@ -6,12 +7,19 @@ {% block content %}