Index: trunk/webapp/abscontrol/models.py =================================================================== diff --git a/trunk/webapp/abscontrol/models.py b/trunk/webapp/abscontrol/models.py --- a/trunk/webapp/abscontrol/models.py (revision 124) +++ b/trunk/webapp/abscontrol/models.py (revision 125) @@ -1,7 +1,7 @@ from django.db import models from django.utils import timezone -class profileAntenna(models.Model): +class Profile(models.Model): name = models.CharField(max_length=250) date_create = models.DateTimeField() @@ -11,8 +11,6 @@ class Meta: db_table = "abs_profile_antenna" - verbose_name = "Profile of Configuration" - verbose_name_plural = "Profiles of Configuration" def save(self): if self.pk is None: @@ -21,14 +19,15 @@ self.state = 1 else: self.date_modified = timezone.now() - super(profileAntenna, self).save() + super(Profile, self).save() def __unicode__(self): - return u'%s' % self.value + return u'%s' % self.name -class patternAntenna(models.Model): +class Pattern(models.Model): - profile = models.ForeignKey(profileAntenna) + profile = models.ForeignKey(Profile) + value = models.PositiveIntegerField() date_create = models.DateTimeField() date_modified = models.DateTimeField(null=True) hits = models.PositiveIntegerField() @@ -36,26 +35,24 @@ class Meta: db_table = "abs_pattern_antenna" - verbose_name = "Pattern of Antenna" - verbose_name_plural = "List of Patterns of Antenna" - def save(self): - if self.pk is None: + def save(self, *args, **kwargs): + if not self.pk: self.date_create = timezone.now() self.hits = 0 self.state = 1 else: self.date_modified = timezone.now() - super(patternAntenna, self).save() + super(Pattern, self).save(*args, **kwargs) ''' def __unicode__(self): return u'%s' % self.value ''' -class antennaUp(models.Model): +class AntennaUp(models.Model): - pattern = models.ForeignKey(patternAntenna) + pattern = models.ForeignKey(Pattern) value = models.CharField(max_length=250) tx = models.CharField(max_length=250) rx = models.CharField(max_length=250) @@ -67,25 +64,23 @@ class Meta: db_table = "abs_antenna_up" - verbose_name = "Antenna Up" - verbose_name_plural = "List of Antenna Up" - def save(self): + def save(self, *args, **kwargs): if self.pk is None: self.date_create = timezone.now() self.hits = 0 self.state = 1 else: self.date_modified = timezone.now() - super(antennaUp, self).save() + super(AntennaUp, self).save(*args, **kwargs) def __unicode__(self): return u'%s' % self.value -class antennaDown(models.Model): +class AntennaDown(models.Model): - pattern = models.ForeignKey(patternAntenna) + pattern = models.ForeignKey(Pattern) value = models.CharField(max_length=250) tx = models.CharField(max_length=250) rx = models.CharField(max_length=250) @@ -97,17 +92,15 @@ class Meta: db_table = "abs_antenna_down" - verbose_name = "Antenna Down" - verbose_name_plural = "List of Antenna Down" - def save(self): + def save(self, *args, **kwargs): if self.pk is None: self.date_create = timezone.now() self.hits = 0 self.state = 1 else: self.date_modified = timezone.now() - super(antennaDown, self).save() + super(AntennaDown, self).save(*args, **kwargs) def __unicode__(self): return u'%s' % self.value Index: trunk/webapp/abscontrol/urls.py =================================================================== diff --git a/trunk/webapp/abscontrol/urls.py b/trunk/webapp/abscontrol/urls.py --- a/trunk/webapp/abscontrol/urls.py (revision 124) +++ b/trunk/webapp/abscontrol/urls.py (revision 125) @@ -4,7 +4,8 @@ url(r'^$', 'index'), url(r'^new/$', 'new'), url(r'^save/$', 'save'), - url(r'^(?P\d+)/$', 'detail'), + url(r'^view/(?P\d+)/$', 'view'), + #url(r'^(?P\d+)/$', 'detail'), #url(r'^(?P\d+)/results/$', 'results'), #url(r'^(?P\d+)/vote/$', 'vote'), ) \ No newline at end of file Index: trunk/webapp/abscontrol/views.py =================================================================== diff --git a/trunk/webapp/abscontrol/views.py b/trunk/webapp/abscontrol/views.py --- a/trunk/webapp/abscontrol/views.py (revision 124) +++ b/trunk/webapp/abscontrol/views.py (revision 125) @@ -1,49 +1,42 @@ -from django.shortcuts import render_to_response -from django.http import HttpResponseRedirect -from django.core.urlresolvers import reverse -from django.template import RequestContext - -from abscontrol.models import profileAntenna, patternAntenna, antennaUp, antennaDown +from django.shortcuts import render_to_response, redirect +from abscontrol.models import Profile def index(request): #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] - profile_list = profileAntenna.objects.all() + profile_list = Profile.objects.all() return render_to_response('abscontrol/index.html', {'profile_list': profile_list}) def new(request): - #profile_list = profileAntenna.objects.all() - return render_to_response('abscontrol/new.html', {}) + profile_list = Profile.objects.all() + return render_to_response('abscontrol/new.html', {'profile_list': profile_list}) def save(request): - try: - txtProfile = request.POST["txtProfile"] + + txtProfile = request.POST["txtProfile"] + + txtAntennaUp = request.POST["txtAntennaUp"] + txtTxUp = request.POST["txtTxUp"] + txtRxUp = request.POST["txtRxUp"] + txtUesUp = request.POST["txtUesUp"] + + txtAntennaDown = request.POST["txtAntennaDown"] + txtTxDown = request.POST["txtTxDown"] + txtRxDown = request.POST["txtRxDown"] + txtUesDown = request.POST["txtUesDown"] + + newprofile = Profile(name=txtProfile) + newprofile.save() + + newpattern = newprofile.pattern_set.create(value=1) + newpattern.antennaup_set.create(value=txtAntennaUp, + tx=txtTxUp,rx=txtRxUp, + ues=txtUesUp) + newpattern.antennadown_set.create(value=txtAntennaDown, + tx=txtTxDown,rx=txtRxDown, + ues=txtUesDown) + + return redirect('/abscontrol/') + +def view(request, profile_id): + pass - txtAntennaUp = request.POST["txtAntennaUp"] - txtTxUp = request.POST["txtTxUp"] - txtRxUp = request.POST["txtRxUp"] - txtUesUp = request.POST["txtUesUp"] - - txtAntennaDown = request.POST["txtAntennaDown"] - txtTxDown = request.POST["txtTxDown"] - txtRxDown = request.POST["txtRxDown"] - txtUesDown = request.POST["txtUesDown"] - - objProfile = profileAntenna(name=txtProfile) - objProfile.save() - - profile = profileAntenna.objects.get(pk=objProfile.id) - print profile.id - newpattern = profile.pattern_set.create() - ''' - pattern = patternAntenna.objects.get(pk=newpattern.id) - pattern.antennaUp_set.create(value=txtAntennaUp, tx=txtTxUp, rx=txtRxUp, ues=txtUesUp) - pattern.antennaDown_set.create(value=txtAntennaDown, tx=txtTxDown, rx=txtRxDown, ues=txtUesDown) - ''' - return HttpResponseRedirect(reverse('abscontrol.views.index')) - - except: - # Redisplay the form - return render_to_response('abscontrol/new.html', { - 'error_message': "You didn't select a choice.", - }, context_instance=RequestContext(request)) - Index: trunk/webapp/static/css/style.css =================================================================== diff --git a/trunk/webapp/static/css/style.css b/trunk/webapp/static/css/style.css --- a/trunk/webapp/static/css/style.css (revision 124) +++ b/trunk/webapp/static/css/style.css (revision 125) @@ -1,3 +1,64 @@ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTXhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNSnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/k3k702ZOKiLJc3WVjuplzHhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 800; + src: local('Open Sans Extrabold'), local('OpenSans-Extrabold'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/EInbV5DfGHOiMmvb1Xr-hnhCUOGz7vYGh680lGh-uXM.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 300; + src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxh_xHqYgAV9Bl_ZQbYUxnQU.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 400; + src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/xjAJXh38I15wypJXxuGMBobN6UDyHWBl620a-IRfuBk.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 600; + src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxn5HxGBcBvicCpTp6spHfNo.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 700; + src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxjqR_3kx9_hJXbbyU8S6IN0.woff) format('woff'); +} +@font-face { + font-family: 'Open Sans'; + font-style: italic; + font-weight: 800; + src: local('Open Sans Extrabold Italic'), local('OpenSans-ExtraboldItalic'), url(http://themes.googleusercontent.com/static/fonts/opensans/v6/PRmiXeptR36kaC0GEAetxkCDe67GEgBv_HnyvHTfdew.woff) format('woff'); +} + body {font-size: 11px; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif} article, aside, figure, footer, header, hgroup, nav, section { display:block; } header {border: 1px solid #fcc; font-size: 2em; height: 50px; text-align: center; line-height: 50px} @@ -15,6 +76,7 @@ /****************************************************************************************/ #content #infoProfiles {border: 1px solid #d00; width: 140px; margin: 0px; padding-top: 2px; padding-bottom: 2px} .lblInfo {padding-left: 12px; line-height: 20px;} +#infoProfiles select {padding-left: 12px; line-height: 20px;margin-left: 12px} #content nav {border: 1px solid #c55; width: 140px; margin: 0px; font-family: Monaco; font-size: 1.2em;} #content nav ul{list-style: none; list-style-type: none; margin: 15px 15px 15px 15px; padding-left: 20px; border: 0px solid #eee} #content nav ul li{line-height: 20px}