From a4083a261ef0f9d9344bf35f828d2f9d17d7f6bf Mon Sep 17 00:00:00 2001 From: Hollyn Date: Wed, 21 Oct 2015 20:08:16 -0400 Subject: [PATCH] fix sms sending and receiving, according to the station convert to mm, log --- base/migrations/0001_initial.py | 73 ++++-------------- hydromet/migrations/0001_initial.py | 115 ++++++---------------------- hydromet/models.py | 6 -- sms_gateway/app.py | 9 ++- smslapli/templates/admin/index.html | 2 +- 5 files changed, 46 insertions(+), 159 deletions(-) diff --git a/base/migrations/0001_initial.py b/base/migrations/0001_initial.py index 38ce7db..d63448f 100644 --- a/base/migrations/0001_initial.py +++ b/base/migrations/0001_initial.py @@ -13,54 +13,32 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Commune', fields=[ -<<<<<<< HEAD - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('commune', models.CharField(unique=True, max_length=45, verbose_name='Commune')), - ('description', models.TextField(max_length=100, blank=True, verbose_name='Description')), -======= - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('commune', models.CharField(unique=True, max_length=45, verbose_name='Commune')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), + ('commune', models.CharField(verbose_name='Commune', max_length=45, unique=True)), ('description', models.TextField(max_length=100, verbose_name='Description', blank=True)), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 - ('id_code', models.CharField(unique=True, max_length=7, verbose_name='Code')), + ('id_code', models.CharField(verbose_name='Code', max_length=7, unique=True)), ], ), migrations.CreateModel( name='Departement', fields=[ -<<<<<<< HEAD - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('departement', models.CharField(max_length=40, choices=[('Ouest', 'OUEST'), ('Nord', 'NORD'), ('Nordouest', 'NORD-OUEST'), ('Nordest', 'NORD-EST'), ('Sud', 'SUD'), ('Sudest', 'SUD-EST'), ('Artibonite', 'ARTIBONITE'), ('Nippes', 'NIPPES'), ('Centre', 'CENTRE'), ('Grandanse', "GRAND'ANSE")], verbose_name='Departement')), - ('description', models.TextField(max_length=100, blank=True, verbose_name='Description')), -======= - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('departement', models.CharField(choices=[('Ouest', 'OUEST'), ('Nord', 'NORD'), ('Nordouest', 'NORD-OUEST'), ('Nordest', 'NORD-EST'), ('Sud', 'SUD'), ('Sudest', 'SUD-EST'), ('Artibonite', 'ARTIBONITE'), ('Nippes', 'NIPPES'), ('Centre', 'CENTRE'), ('Grandanse', "GRAND'ANSE")], max_length=40, verbose_name='Departement')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), + ('departement', models.CharField(max_length=40, verbose_name='Departement')), ('description', models.TextField(max_length=100, verbose_name='Description', blank=True)), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 - ('id_code', models.CharField(unique=True, max_length=7, verbose_name='Code')), + ('id_code', models.CharField(verbose_name='Code', max_length=7, unique=True)), ], ), migrations.CreateModel( name='PersonneContact', fields=[ -<<<<<<< HEAD - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('nomPersonne', models.CharField(max_length=45, verbose_name='Nom')), - ('prenomPersonne', models.CharField(max_length=45, verbose_name='Prenom')), - ('telephoneBureau', models.CharField(max_length=45, blank=True, verbose_name='Telephone (Bureau)')), - ('telephonePersonnel', models.CharField(unique=True, max_length=45, verbose_name='Telephone (Personnel)')), - ('emailPersonnel', models.CharField(max_length=45, blank=True, verbose_name='Email (Personnel)')), - ('adressePersonnelle', models.CharField(max_length=45, blank=True, verbose_name='Adresse (Personnlle)')), -======= - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('nomPersonne', models.CharField(max_length=45, verbose_name='Nom')), ('prenomPersonne', models.CharField(max_length=45, verbose_name='Prenom')), ('telephoneBureau', models.CharField(max_length=45, verbose_name='Telephone (Bureau)', blank=True)), - ('telephonePersonnel', models.CharField(unique=True, max_length=45, verbose_name='Telephone (Personnel)')), + ('telephonePersonnel', models.CharField(verbose_name='Telephone (Personnel)', max_length=45, unique=True)), ('emailPersonnel', models.CharField(max_length=45, verbose_name='Email (Personnel)', blank=True)), ('adressePersonnelle', models.CharField(max_length=45, verbose_name='Adresse (Personnlle)', blank=True)), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 - ('nif', models.CharField(unique=True, max_length=45, verbose_name='NIF/CIN')), + ('nif', models.CharField(verbose_name='NIF/CIN', max_length=45, unique=True)), ('dateEmbauche', models.DateField(verbose_name="Date d'embauche")), ('isactif', models.BooleanField(verbose_name='Active')), ], @@ -68,48 +46,29 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Poste', fields=[ -<<<<<<< HEAD - ('nomPoste', models.CharField(serialize=False, primary_key=True, unique=True, max_length=45, verbose_name='Poste')), -======= - ('nomPoste', models.CharField(unique=True, primary_key=True, max_length=45, verbose_name='Poste', serialize=False)), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 + ('nomPoste', models.CharField(verbose_name='Poste', max_length=45, unique=True, serialize=False, primary_key=True)), ('description', models.CharField(max_length=45, verbose_name='Description')), ], ), migrations.CreateModel( name='SectionCommunale', fields=[ -<<<<<<< HEAD - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('sectionCommunale', models.CharField(max_length=45, verbose_name='Section Communale')), - ('nomOfficiel', models.CharField(max_length=45, blank=True, verbose_name='Nom officiel')), - ('description', models.TextField(max_length=100, blank=True, verbose_name='Description')), -======= - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('sectionCommunale', models.CharField(max_length=45, verbose_name='Section Communale')), ('nomOfficiel', models.CharField(max_length=45, verbose_name='Nom officiel', blank=True)), ('description', models.TextField(max_length=100, verbose_name='Description', blank=True)), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 - ('id_code', models.CharField(unique=True, max_length=7, verbose_name='Code')), + ('id_code', models.CharField(verbose_name='Code', max_length=7, unique=True)), ('commune', models.ForeignKey(to='base.Commune', verbose_name='Commune')), ], ), migrations.CreateModel( name='SiteSentinelle', fields=[ -<<<<<<< HEAD - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('localite', models.CharField(max_length=45, verbose_name='Localite')), - ('latitude', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='Latitude')), - ('longitude', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='Longitude')), - ('hauteur', models.DecimalField(decimal_places=2, default=0, max_digits=8, verbose_name='Hauteur')), -======= - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('localite', models.CharField(max_length=45, verbose_name='Localite')), - ('latitude', models.DecimalField(default=0, decimal_places=2, max_digits=8, verbose_name='Latitude')), - ('longitude', models.DecimalField(default=0, decimal_places=2, max_digits=8, verbose_name='Longitude')), - ('hauteur', models.DecimalField(default=0, decimal_places=2, max_digits=8, verbose_name='Hauteur')), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 + ('latitude', models.DecimalField(decimal_places=2, default=0, verbose_name='Latitude', max_digits=8)), + ('longitude', models.DecimalField(decimal_places=2, default=0, verbose_name='Longitude', max_digits=8)), + ('hauteur', models.DecimalField(decimal_places=2, default=0, verbose_name='Hauteur', max_digits=8)), ('sectionCommunale', models.ForeignKey(to='base.SectionCommunale', verbose_name='Section Communale')), ], ), diff --git a/hydromet/migrations/0001_initial.py b/hydromet/migrations/0001_initial.py index de3dfda..1093a10 100644 --- a/hydromet/migrations/0001_initial.py +++ b/hydromet/migrations/0001_initial.py @@ -12,16 +12,25 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( -<<<<<<< HEAD + name='Log', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), + ('timestamp', models.DateTimeField(auto_now_add=True)), + ('temperatureMax', models.DecimalField(decimal_places=3, verbose_name='Temperature max', null=True, max_digits=5, blank=True)), + ('temperatureMin', models.DecimalField(decimal_places=3, verbose_name='Temperature min', null=True, max_digits=5, blank=True)), + ('quantitePluie', models.DecimalField(decimal_places=2, verbose_name='Quantite de Pluie', max_digits=15, blank=True)), + ], + ), + migrations.CreateModel( name='Observation', fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('timestamp', models.DateTimeField(auto_now_add=True)), ('dateDebut', models.DateField(verbose_name='Debut')), ('dateFin', models.DateField(verbose_name='Fin')), - ('temperatureMax', models.DecimalField(decimal_places=3, max_digits=5, null=True, blank=True, verbose_name='Temperature max')), - ('temperatureMin', models.DecimalField(decimal_places=3, max_digits=5, null=True, blank=True, verbose_name='Temperature min')), - ('quantitePluie', models.DecimalField(decimal_places=2, max_digits=15, blank=True, verbose_name='Quantite de Pluie')), + ('temperatureMax', models.DecimalField(decimal_places=3, verbose_name='Temperature max', null=True, max_digits=5, blank=True)), + ('temperatureMin', models.DecimalField(decimal_places=3, verbose_name='Temperature min', null=True, max_digits=5, blank=True)), + ('quantitePluie', models.DecimalField(decimal_places=2, verbose_name='Quantite de Pluie', max_digits=15, blank=True)), ('description', models.TextField(max_length=100, blank=True)), ('valider', models.BooleanField(default=False)), ], @@ -29,19 +38,19 @@ class Migration(migrations.Migration): migrations.CreateModel( name='Station', fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('latitude', models.FloatField()), ('longitude', models.FloatField()), ('hauteur', models.DecimalField(decimal_places=2, default=0, max_digits=8)), ('nomStation', models.CharField(max_length=45, verbose_name='Nom de la Station')), ('idStation', models.CharField(max_length=5, blank=True)), - ('idSiteSeninnelle', models.ForeignKey(to='base.SiteSentinelle', blank=True, verbose_name='Site Sentinelle', null=True)), + ('idSiteSeninnelle', models.ForeignKey(blank=True, to='base.SiteSentinelle', verbose_name='Site Sentinelle', null=True)), ], ), migrations.CreateModel( name='StationObservers', fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), ('observer', models.OneToOneField(to='base.PersonneContact')), ('station', models.ForeignKey(to='hydromet.Station')), ], @@ -49,103 +58,28 @@ class Migration(migrations.Migration): migrations.CreateModel( name='TypeStation', fields=[ - ('typeStation', models.CharField(serialize=False, primary_key=True, max_length=45, verbose_name='Type de Station')), - ('description', models.TextField(max_length=100, blank=True, verbose_name='Description')), - ], - ), - migrations.CreateModel( - name='UniteDeMesure', - fields=[ - ('id', models.AutoField(serialize=False, auto_created=True, primary_key=True, verbose_name='ID')), - ('uniteMesure', models.CharField(unique=True, max_length=7, verbose_name='Unite de mesure')), - ('description', models.TextField(blank=True)), - ('formule', models.TextField(blank='True', verbose_name='Formule')), -======= - name='Log', - fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('timestamp', models.DateTimeField(auto_now_add=True)), - ('temperatureMax', models.DecimalField(max_digits=5, decimal_places=3, verbose_name='Temperature max', blank=True, null=True)), - ('temperatureMin', models.DecimalField(max_digits=5, decimal_places=3, verbose_name='Temperature min', blank=True, null=True)), - ('quantitePluie', models.DecimalField(decimal_places=2, verbose_name='Quantite de Pluie', blank=True, max_digits=15)), - ], - ), - migrations.CreateModel( - name='Observation', - fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('timestamp', models.DateTimeField(auto_now_add=True)), - ('dateDebut', models.DateField(verbose_name='Debut')), - ('dateFin', models.DateField(verbose_name='Fin')), - ('temperatureMax', models.DecimalField(max_digits=5, decimal_places=3, verbose_name='Temperature max', blank=True, null=True)), - ('temperatureMin', models.DecimalField(max_digits=5, decimal_places=3, verbose_name='Temperature min', blank=True, null=True)), - ('quantitePluie', models.DecimalField(decimal_places=2, verbose_name='Quantite de Pluie', blank=True, max_digits=15)), - ('description', models.TextField(max_length=100, blank=True)), - ('valider', models.BooleanField(default=False)), - ], - ), - migrations.CreateModel( - name='Station', - fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('latitude', models.FloatField()), - ('longitude', models.FloatField()), - ('hauteur', models.DecimalField(default=0, max_digits=8, decimal_places=2)), - ('nomStation', models.CharField(max_length=45, verbose_name='Nom de la Station')), - ('idStation', models.CharField(max_length=5, blank=True)), - ('idSiteSeninnelle', models.ForeignKey(blank=True, null=True, verbose_name='Site Sentinelle', to='base.SiteSentinelle')), - ], - ), - migrations.CreateModel( - name='StationObservers', - fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('observer', models.OneToOneField(to='base.PersonneContact')), - ('station', models.ForeignKey(to='hydromet.Station')), - ], - ), - migrations.CreateModel( - name='TypeStation', - fields=[ - ('typeStation', models.CharField(serialize=False, primary_key=True, max_length=45, verbose_name='Type de Station')), + ('typeStation', models.CharField(max_length=45, verbose_name='Type de Station', serialize=False, primary_key=True)), ('description', models.TextField(max_length=100, verbose_name='Description', blank=True)), ], ), migrations.CreateModel( name='UniteDeMesure', fields=[ - ('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')), - ('uniteMesure', models.CharField(unique=True, max_length=7, verbose_name='Unite de mesure')), + ('id', models.AutoField(verbose_name='ID', primary_key=True, auto_created=True, serialize=False)), + ('uniteMesure', models.CharField(verbose_name='Unite de mesure', max_length=7, unique=True)), ('description', models.TextField(blank=True)), - ('formule', models.TextField(verbose_name='Formule', blank='True')), ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 + ('formule', models.DecimalField(decimal_places=3, verbose_name='Formule', null=True, max_digits=5, blank=True)), ], ), migrations.AddField( model_name='station', name='typeStation', -<<<<<<< HEAD - field=models.ForeignKey(to='hydromet.TypeStation', blank=True, verbose_name='Type de la Station', null=True), + field=models.ForeignKey(blank=True, to='hydromet.TypeStation', verbose_name='Type de la Station', null=True), ), migrations.AddField( model_name='station', name='uniteMesure', - field=models.ForeignKey(to='hydromet.UniteDeMesure', blank=True, verbose_name='Unite de mesure', null=True), - ), - migrations.AddField( - model_name='observation', - name='idStation', - field=models.ForeignKey(to='hydromet.Station'), - ), - migrations.AddField( - model_name='observation', -======= - field=models.ForeignKey(blank=True, null=True, verbose_name='Type de la Station', to='hydromet.TypeStation'), - ), - migrations.AddField( - model_name='station', - name='uniteMesure', - field=models.ForeignKey(blank=True, null=True, verbose_name='Unite de mesure', to='hydromet.UniteDeMesure'), + field=models.ForeignKey(blank=True, to='hydromet.UniteDeMesure', verbose_name='Unite de mesure', null=True), ), migrations.AddField( model_name='observation', @@ -160,11 +94,10 @@ class Migration(migrations.Migration): migrations.AddField( model_name='log', name='observation', - field=models.ForeignKey(null=True, blank=True, default=None, to='hydromet.Observation'), + field=models.ForeignKey(blank=True, to='hydromet.Observation', default=None, null=True), ), migrations.AddField( model_name='log', ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 name='observer', field=models.ForeignKey(to='base.PersonneContact'), ), diff --git a/hydromet/models.py b/hydromet/models.py index 956e6a0..bd255e5 100644 --- a/hydromet/models.py +++ b/hydromet/models.py @@ -15,13 +15,7 @@ class TypeStation(models.Model): class UniteDeMesure(models.Model): uniteMesure = models.CharField(max_length=7, unique=True, verbose_name="Unite de mesure") description = models.TextField(blank=True) -<<<<<<< HEAD formule = models.DecimalField(max_digits=5, decimal_places=3, null=True, blank=True, verbose_name="Formule") - -======= - - formule = models.TextField(verbose_name="Formule", blank="True") ->>>>>>> 96badc71c559efc888bfccc84c949f2dee468356 def __str__(self): # __unicode__ on Python 2 return self.uniteMesure diff --git a/sms_gateway/app.py b/sms_gateway/app.py index 4348969..e248593 100644 --- a/sms_gateway/app.py +++ b/sms_gateway/app.py @@ -89,19 +89,20 @@ class SmsGateway(AppBase): msg.respond("Vous avez un nombre commencant par 0. Il n'y avait pas de pluie?") return True - val_float = float(msg.text) person = PersonneContact.objects.get(telephonePersonnel=tel) station = StationObservers.objects.get(observer=person).station + id_station = StationObservers.objects.get(observer=person).station.id + formule = UniteDeMesure.objects.get(id = id_station).formule - #id de la personne qui a envoye le sms + val_float = float(msg.text) * float(formule) log = Log() recup_last_value = Observation.objects.filter(observer = obs_id, dateDebut = timezone.now().date() - timedelta(days=1)).order_by('-id').first() if recup_last_value: recup_last_value.quantitePluie = val_float recup_last_value.save() - info = 'Donnee mise a jour' + info = 'Vous avez envoye : ' + str(val_float) + '. Donnee mise a jour' # logSave(log, recup_last_value, person, val_float) else: o = Observation() @@ -113,7 +114,7 @@ class SmsGateway(AppBase): o.dateFin = timezone.now().date() o.valider = False o.save() - info = 'Donnee sauvegardee. Merci!' + info = 'Vous avez envoye : ' + str(val_float) + '. Donnee sauvegardee. Merci!' # logSave(log, recup_last_value, person, val_float) log.observation = recup_last_value diff --git a/smslapli/templates/admin/index.html b/smslapli/templates/admin/index.html index d68941f..9d2d8a2 100755 --- a/smslapli/templates/admin/index.html +++ b/smslapli/templates/admin/index.html @@ -152,7 +152,7 @@