##// END OF EJS Templates
status field added to Device and DevConfiguration model...
Miguel Urco -
r16:6ddf69cf5d41
parent child
Show More
@@ -1,11 +1,11
1 {% extends "dev_conf.html" %}
1 {% extends "dev_conf.html" %}
2
2
3 {% block extra-js%}
3 {% block extra-js%}
4 <script type="text/javascript">
4 <script type="text/javascript">
5
5
6 $("#bt_edit_device").click(function() {
6 $("#bt_edit").click(function() {
7 document.location = "{% url 'url_edit_dds_conf' dev_conf.id%}";
7 document.location = "{% url 'url_edit_dds_conf' dev_conf.id%}";
8 });
8 });
9
9
10 </script>
10 </script>
11 {% endblock %} No newline at end of file
11 {% endblock %}
@@ -1,95 +1,104
1 from itertools import chain
1 from itertools import chain
2 from django.db import models
2 from django.db import models
3 from polymorphic import PolymorphicModel
3 from polymorphic import PolymorphicModel
4
4
5 STATES = (
5 CONF_STATES = (
6 (0, 'Inactive'),
6 (0, 'Active'),
7 (1, 'Active'),
7 (1, 'Historial'),
8 )
9
10 DEV_STATES = (
11 (0, 'No connected'),
12 (1, 'Connected'),
13 (2, 'Configured'),
14 (3, 'Running'),
8 )
15 )
9
16
10 DEV_TYPES = (
17 DEV_TYPES = (
11 ('', 'Select a device type'),
18 ('', 'Select a device type'),
12 ('rc', 'Radar Controller'),
19 ('rc', 'Radar Controller'),
13 ('dds', 'Direct Digital Synthesizer'),
20 ('dds', 'Direct Digital Synthesizer'),
14 ('jars', 'Jicamarca Radar System'),
21 ('jars', 'Jicamarca Radar System'),
15 ('usrp', 'Universal Software Radio Peripheral'),
22 ('usrp', 'Universal Software Radio Peripheral'),
16 ('cgs', 'Clock Generator System'),
23 ('cgs', 'Clock Generator System'),
17 ('abs', 'Automatic Beam Switching'),
24 ('abs', 'Automatic Beam Switching'),
18 )
25 )
19
26
20 # Create your models here.
27 # Create your models here.
21
28
22 class DeviceType(models.Model):
29 class DeviceType(models.Model):
23
30
24 name = models.CharField(max_length = 10, choices = DEV_TYPES, default = 'rc')
31 name = models.CharField(max_length = 10, choices = DEV_TYPES, default = 'rc')
25
32
26 description = models.TextField(blank=True, null=True)
33 description = models.TextField(blank=True, null=True)
27
34
28 # info = models.TextField(blank=True, null=True)
35 # info = models.TextField(blank=True, null=True)
29 # status = models.PositiveSmallIntegerField(default=1, choices=STATES)
36 # status = models.PositiveSmallIntegerField(default=1, choices=STATES)
30
37
31 class Meta:
38 class Meta:
32 db_table = 'db_device_types'
39 db_table = 'db_device_types'
33
40
34 def __unicode__(self):
41 def __unicode__(self):
35 return u'%s' % self.name
42 return u'%s' % self.name
36
43
37 class Device(models.Model):
44 class Device(models.Model):
38
45
39 device_type = models.ForeignKey(DeviceType)
46 device_type = models.ForeignKey(DeviceType)
40 name = models.CharField(max_length=40, default='')
47 name = models.CharField(max_length=40, default='')
41 ip_address = models.GenericIPAddressField(protocol='IPv4', default='0.0.0.0')
48 ip_address = models.GenericIPAddressField(protocol='IPv4', default='0.0.0.0')
42 port_address = models.PositiveSmallIntegerField(default=2000)
49 port_address = models.PositiveSmallIntegerField(default=2000)
43 description = models.TextField(blank=True, null=True)
50 description = models.TextField(blank=True, null=True)
51 status = models.PositiveSmallIntegerField(default=0, choices=DEV_STATES)
44
52
45 # serial_number = models.CharField(max_length=40, default='')
53 # serial_number = models.CharField(max_length=40, default='')
46 # mac_address = models.CharField(max_length = 20, null=True, blank=True)
54 # mac_address = models.CharField(max_length = 20, null=True, blank=True)
47 # status = models.PositiveSmallIntegerField(default=1, choices=STATES)
55
48
56
49 class Meta:
57 class Meta:
50 db_table = 'db_devices'
58 db_table = 'db_devices'
51
59
52 def __unicode__(self):
60 def __unicode__(self):
53 return u'[%s]: %s | %s' % (self.device_type.name, self.name, self.ip_address)
61 return u'[%s]: %s | %s' % (self.device_type.name, self.name, self.ip_address)
54
62
55 class Campaign(models.Model):
63 class Campaign(models.Model):
56
64
57 name = models.CharField(max_length=40, unique=True)
65 name = models.CharField(max_length=40, unique=True)
58 start_date = models.DateTimeField(blank=True, null=True)
66 start_date = models.DateTimeField(blank=True, null=True)
59 end_date = models.DateTimeField(blank=True, null=True)
67 end_date = models.DateTimeField(blank=True, null=True)
60 tags = models.CharField(max_length=40)
68 tags = models.CharField(max_length=40)
61 description = models.TextField(blank=True, null=True)
69 description = models.TextField(blank=True, null=True)
62 template = models.BooleanField(default=False)
70 template = models.BooleanField(default=False)
63
71
64 class Meta:
72 class Meta:
65 db_table = 'db_campaigns'
73 db_table = 'db_campaigns'
66
74
67 def __unicode__(self):
75 def __unicode__(self):
68 return u'%s: %s - %s' % (self.name, self.start_date.date(), self.end_date.date())
76 return u'%s: %s - %s' % (self.name, self.start_date.date(), self.end_date.date())
69
77
70 class Experiment(models.Model):
78 class Experiment(models.Model):
71
79
72 campaign = models.ForeignKey(Campaign)
80 campaign = models.ForeignKey(Campaign)
73 name = models.CharField(max_length=40, default='')
81 name = models.CharField(max_length=40, default='')
74 start_time = models.TimeField(default='00:00:00')
82 start_time = models.TimeField(default='00:00:00')
75 end_time = models.TimeField(default='23:59:59')
83 end_time = models.TimeField(default='23:59:59')
76
84
77 class Meta:
85 class Meta:
78 db_table = 'db_experiments'
86 db_table = 'db_experiments'
79
87
80 def __unicode__(self):
88 def __unicode__(self):
81 return u'[%s]: %s: %s - %s' % (self.campaign.name, self.name, self.start_time, self.end_time)
89 return u'[%s]: %s: %s - %s' % (self.campaign.name, self.name, self.start_time, self.end_time)
82
90
83 class Configuration(PolymorphicModel):
91 class Configuration(PolymorphicModel):
84
92
85 experiment = models.ForeignKey(Experiment)
93 experiment = models.ForeignKey(Experiment)
86 device = models.ForeignKey(Device)
94 device = models.ForeignKey(Device)
95 status = models.PositiveSmallIntegerField(default=0, choices=CONF_STATES)
96 date = models.DateTimeField(auto_now=True, blank=True)
97
87 # parameters = models.TextField(default='{}')
98 # parameters = models.TextField(default='{}')
88 # status = models.PositiveSmallIntegerField(default=1, choices=STATES)
89
90 class Meta:
99 class Meta:
91 db_table = 'db_configurations'
100 db_table = 'db_configurations'
92
101
93 def __unicode__(self):
102 def __unicode__(self):
94 return u'%s [%s]' % (self.experiment.name, self.device.name)
103 return u'%s [%s]' % (self.experiment.name, self.device.name)
95 No newline at end of file
104
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now