# SVN changeset patch # User jsalyrosas # Date 2013-04-11 22:52:54.569936 # Revision 121 - Agrupando los modelos de la aplicacion en una sola clase. Index: trunk/webapp/abs_webapp_dev/settings.py =================================================================== diff --git a/trunk/webapp/abs_webapp_dev/settings.py b/trunk/webapp/abs_webapp_dev/settings.py --- a/trunk/webapp/abs_webapp_dev/settings.py (revision 120) +++ b/trunk/webapp/abs_webapp_dev/settings.py (revision 121) @@ -59,7 +59,8 @@ # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/home/media/media.lawrence.com/static/" -STATIC_ROOT = os.path.join(PROJECT_DIR, 'static-serve').replace('\\', '/'), +#STATIC_ROOT = os.path.join(PROJECT_DIR, 'static-serve').replace('\\', '/'), +STATIC_ROOT = '' # URL prefix for static files. # Example: "http://media.lawrence.com/static/" @@ -70,7 +71,8 @@ # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. - os.path.join(PROJECT_DIR, "static").replace('\\', '/'), + #os.path.join(PROJECT_DIR, "static").replace('\\', '/'), + ("static", os.path.join(PROJECT_DIR, "static").replace('\\', '/')), ) # List of finder classes that know how to find static files in @@ -94,7 +96,7 @@ MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', + #'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', # Uncomment the next line for simple clickjacking protection: @@ -124,9 +126,7 @@ # 'django.contrib.admin', # Uncomment the next line to enable admin documentation: # 'django.contrib.admindocs', - 'components.antenna', - 'components.pattern_antenna', - 'components.profile_antenna', + 'abscontrol', ) # A sample logging configuration. The only tangible logging 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 120) +++ b/trunk/webapp/abscontrol/models.py (revision 121) @@ -1,3 +1,113 @@ from django.db import models +from django.utils import timezone -# Create your models here. +class profileAntenna(models.Model): + + name = models.CharField(max_length=250) + date_create = models.DateTimeField() + date_modified = models.DateTimeField(null=True) + hits = models.PositiveIntegerField() + state = models.PositiveSmallIntegerField() + + 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: + self.date_create = timezone.now() + self.hits = 0 + self.state = 1 + else: + self.date_modified = timezone.now() + super(profileAntenna, self).save() + + def __unicode__(self): + return u'%s' % self.value + +class patternAntenna(models.Model): + + profile = models.ForeignKey(profileAntenna) + date_create = models.DateTimeField() + date_modified = models.DateTimeField(null=True) + hits = models.PositiveIntegerField() + state = models.PositiveSmallIntegerField() + + 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: + self.date_create = timezone.now() + self.hits = 0 + self.state = 1 + else: + self.date_modified = timezone.now() + super(patternAntenna, self).save() + + ''' + def __unicode__(self): + return u'%s' % self.value + ''' + +class antennaUp(models.Model): + + pattern = models.ForeignKey(patternAntenna) + value = models.CharField(max_length=250) + tx = models.CharField(max_length=250) + rx = models.CharField(max_length=250) + ues = models.CharField(max_length=80) + date_create = models.DateTimeField() + date_modified = models.DateTimeField(null=True) + hits = models.PositiveIntegerField() + state = models.PositiveSmallIntegerField() + + class Meta: + db_table = "abs_antenna_up" + verbose_name = "Antenna Up" + verbose_name_plural = "List of Antenna Up" + + def save(self): + 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() + + def __unicode__(self): + return u'%s' % self.value + + +class antennaDown(models.Model): + + pattern = models.ForeignKey(patternAntenna) + value = models.CharField(max_length=250) + tx = models.CharField(max_length=250) + rx = models.CharField(max_length=250) + ues = models.CharField(max_length=80) + date_create = models.DateTimeField() + date_modified = models.DateTimeField(null=True) + hits = models.PositiveIntegerField() + state = models.PositiveSmallIntegerField() + + class Meta: + db_table = "abs_antenna_down" + verbose_name = "Antenna Down" + verbose_name_plural = "List of Antenna Down" + + def save(self): + 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() + + def __unicode__(self): + return u'%s' % self.value Index: trunk/webapp/abscontrol/static =================================================================== diff --git a/trunk/webapp/abscontrol/static b/trunk/webapp/abscontrol/static deleted file mode 10644 --- a/trunk/webapp/abscontrol/static (revision 120) +++ /dev/null (revision 121) Index: trunk/webapp/abscontrol/templates =================================================================== diff --git a/trunk/webapp/abscontrol/templates b/trunk/webapp/abscontrol/templates deleted file mode 10644 --- a/trunk/webapp/abscontrol/templates (revision 120) +++ /dev/null (revision 121) 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 120) +++ b/trunk/webapp/abscontrol/urls.py (revision 121) @@ -3,6 +3,7 @@ urlpatterns = patterns('abscontrol.views', url(r'^$', 'index'), url(r'^new/$', 'new'), + url(r'^save/$', 'save'), url(r'^(?P\d+)/$', 'detail'), #url(r'^(?P\d+)/results/$', 'results'), #url(r'^(?P\d+)/vote/$', 'vote'), 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 120) +++ b/trunk/webapp/abscontrol/views.py (revision 121) @@ -1,5 +1,9 @@ from django.shortcuts import render_to_response -from components.profile_antenna.models import profileAntenna +from django.http import HttpResponseRedirect +from django.core.urlresolvers import reverse +from django.template import RequestContext + +from abscontrol.models import profileAntenna, patternAntenna, antennaUp, antennaDown def index(request): #latest_poll_list = profileAntenna.objects.all().order_by('-pub_date')[:5] @@ -9,3 +13,37 @@ def new(request): #profile_list = profileAntenna.objects.all() return render_to_response('abscontrol/new.html', {}) + +def save(request): + try: + 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"] + + 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/components =================================================================== diff --git a/trunk/webapp/components b/trunk/webapp/components deleted file mode 10644 --- a/trunk/webapp/components (revision 120) +++ /dev/null (revision 121) 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 120) +++ b/trunk/webapp/static/css/style.css (revision 121) @@ -1,6 +1,35 @@ -body { - font-size: 11px; -} +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 #f00; font-size: 1.2em} -#schema{margin: 0 auto; width: 980px; border: 1px solid #f00;} +header {border: 1px solid #fcc; font-size: 2em; height: 50px; text-align: center; line-height: 50px} +#schema {margin: 0 auto; width: 980px; border: 1px solid #f00; padding: 10px 10px 10px 10px} +#content {border: 1px solid #1cc; margin-top: 5px; margin-bottom: 5px} +#content #leftcolumn {float: left;border: 1px solid #c55; width: 150px; font-family: Monaco;} +#content #maincolumn {float: left; border: 1px solid #000; width: 800px; padding-left: 20px;} +footer {border: 1px solid #200; font-size: 0.9em; height: 30px; text-align: center; line-height: 20px} + +.cleardivs {clear: both; border: 1px solid #400; height: 0px} + + +/****************************************************************************************/ +/****** MENU DE NAVEGACION DE PERFILES **********************************/ +/****************************************************************************************/ +#content #infoProfiles {border: 1px solid #d00; width: 140px; margin: 0px; padding-top: 2px; padding-bottom: 2px} +.lblInfo {padding-left: 12px; line-height: 20px;} +#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} + +/****************************************************************************************/ +/******** FORMULARIO DE PERFILES *************************************/ +/****************************************************************************************/ +#divProfile {border: 0px solid #dff; margin: 10px 0px; padding: 10px 10px; width: 500px} +.flsAntenna {margin: 10px 0px; width: 750px; padding: 10px 10px} +#divPattern textarea,input[type=text],label {font-family: Monaco; font-size: inherit;} +#divPattern input[type=text] {width: 200px} +#divPattern textarea {resize: none; overflow: hidden} +.divAntenna {float: left; margin: 10px; height: 150px} +.divAntenna label {display: block} +.divTx {display: block; float: left; margin: 10px; height: 150px} +.divTx label {display: block} +.divUes {display: block; margin: 10px} +.txtAntenna {max-width: 200px; max-height: 120px} Index: trunk/webapp/templates/abscontrol/index.html =================================================================== diff --git a/trunk/webapp/templates/abscontrol/index.html b/trunk/webapp/templates/abscontrol/index.html --- a/trunk/webapp/templates/abscontrol/index.html (revision 120) +++ b/trunk/webapp/templates/abscontrol/index.html (revision 121) @@ -3,24 +3,28 @@ {% block title %}ABS CONTROL:::::{% endblock %} {% block content %} +
+ {% block leftcolumn %}
-
- {% if profile_list %} - - {% else %} -

No profiles are available.

- {% endif %} +
+
+
+ {% if profile_list %} + + {% else %} + + {% endif %} +
{% block mnu_profile %} {% endblock %}
+ {% endblock %} {% block maincolumn %}
{% endblock %} +
+
{% endblock %} \ No newline at end of file Index: trunk/webapp/templates/abscontrol/new.html =================================================================== diff --git a/trunk/webapp/templates/abscontrol/new.html b/trunk/webapp/templates/abscontrol/new.html --- a/trunk/webapp/templates/abscontrol/new.html (revision 120) +++ b/trunk/webapp/templates/abscontrol/new.html (revision 121) @@ -3,11 +3,58 @@ {% block maincolumn%}
-
- {% csrf_token %} -
- - + +
+ + + +
+
+
+
+ UP +
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+
+
+ DOWN +
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+
+
{% endblock %} Index: trunk/webapp/templates/base.html =================================================================== diff --git a/trunk/webapp/templates/base.html b/trunk/webapp/templates/base.html --- a/trunk/webapp/templates/base.html (revision 120) +++ b/trunk/webapp/templates/base.html (revision 121) @@ -1,3 +1,4 @@ +{% load static %} @@ -7,7 +8,7 @@ Remove this if you use the .htaccess --> {% endcomment %} - + {% block title %}JRO WEB APPS::::{% endblock %} @@ -31,23 +32,17 @@ {% endblock %} + {% block content %}
- {% block content %} - + +
{% endblock %} -