-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* postgis: (31 commits) PLD: only require 2 values in geometry for lat and lng PLD: only install js test deps and run on 1 build PLD: add force option to instance save and use in migration PLD: create db scripts folder and add load backup script PLD: instances replaces surveys PLD: correct migration sequence numbers PLD: order migrations PLD: correct model imports PLD: use instances from relation PLD: use xform geocoded submission count PLD: geocoded submission count from instances PLD: use instance to check for geopoints PLD: make point a property, fix lng is x PLD: use instance over parsed instance when building csv for bamboo PLD: add get_full_dict method to instance that returns all previous mongo dict entries PLD: use instance in KML export PLD: change name to match class PLD: check geometries exists before attempt to extract data PLD: build KML directly from instance PLD: start of arch install script ...
- Loading branch information
Showing
21 changed files
with
561 additions
and
199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ services: | |
python: | ||
- '2.7' | ||
before_install: | ||
- psql -c 'create database onadata_test;' -U postgres | ||
- ./script/database/install_postgis onadata_test | ||
- ./script/install_ubuntu | ||
env: | ||
- TESTFOLDER=onadata/apps/main | ||
|
@@ -20,12 +20,12 @@ install: | |
- python manage.py syncdb --noinput --settings=onadata.settings.travis_test | ||
- python manage.py migrate --noinput --settings=onadata.settings.travis_test | ||
# make ~/tmp dir writable for npm downloads | ||
- sudo chmod a+w $HOME/tmp | ||
- npm install | ||
- bower install --force-latest | ||
- if [[ "$TESTFOLDER" == onadata/apps/api* ]] ; then sudo chmod a+w $HOME/tmp ; fi | ||
- if [[ "$TESTFOLDER" == onadata/apps/api* ]] ; then npm install ; fi | ||
- if [[ "$TESTFOLDER" == onadata/apps/api* ]] ; then bower install --force-latest ; fi | ||
script: | ||
- python manage.py test $TESTFOLDER --noinput --settings=onadata.settings.travis_test | ||
- karma start onadata/libs/javascript/tests/karma.conf.js | ||
- if [[ "$TESTFOLDER" == onadata/apps/api* ]] ; then karma start onadata/libs/javascript/tests/karma.conf.js ; fi | ||
notifications: | ||
email: | ||
- [email protected] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
160 changes: 160 additions & 0 deletions
160
onadata/apps/odk_logger/migrations/0040_auto__add_field_instance_geom.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
# -*- coding: utf-8 -*- | ||
import datetime | ||
from south.db import db | ||
from south.v2 import SchemaMigration | ||
from django.db import models | ||
|
||
|
||
class Migration(SchemaMigration): | ||
|
||
def forwards(self, orm): | ||
# Adding field 'Instance.geom' | ||
db.add_column(u'odk_logger_instance', 'geom', | ||
self.gf('django.contrib.gis.db.models.fields.GeometryCollectionField')(null=True), | ||
keep_default=False) | ||
|
||
|
||
def backwards(self, orm): | ||
# Deleting field 'Instance.geom' | ||
db.delete_column(u'odk_logger_instance', 'geom') | ||
|
||
|
||
models = { | ||
u'auth.group': { | ||
'Meta': {'object_name': 'Group'}, | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), | ||
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) | ||
}, | ||
u'auth.permission': { | ||
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'}, | ||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) | ||
}, | ||
u'auth.user': { | ||
'Meta': {'object_name': 'User'}, | ||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | ||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), | ||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | ||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | ||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), | ||
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), | ||
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), | ||
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), | ||
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) | ||
}, | ||
u'contenttypes.contenttype': { | ||
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, | ||
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), | ||
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) | ||
}, | ||
'odk_logger.attachment': { | ||
'Meta': {'object_name': 'Attachment'}, | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'instance': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attachments'", 'to': "orm['odk_logger.Instance']"}), | ||
'media_file': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}), | ||
'mimetype': ('django.db.models.fields.CharField', [], {'default': "''", 'max_length': '50', 'blank': 'True'}) | ||
}, | ||
'odk_logger.instance': { | ||
'Meta': {'object_name': 'Instance'}, | ||
'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | ||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | ||
'deleted_at': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}), | ||
'geom': ('django.contrib.gis.db.models.fields.GeometryCollectionField', [], {'null': 'True'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'json': ('jsonfield.fields.JSONField', [], {'default': '{}'}), | ||
'status': ('django.db.models.fields.CharField', [], {'default': "u'submitted_via_web'", 'max_length': '20'}), | ||
'survey_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['odk_logger.SurveyType']"}), | ||
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'surveys'", 'null': 'True', 'to': u"orm['auth.User']"}), | ||
'uuid': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '249'}), | ||
'xform': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'surveys'", 'null': 'True', 'to': "orm['odk_logger.XForm']"}), | ||
'xml': ('django.db.models.fields.TextField', [], {}) | ||
}, | ||
'odk_logger.instancehistory': { | ||
'Meta': {'object_name': 'InstanceHistory'}, | ||
'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | ||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'uuid': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '249'}), | ||
'xform_instance': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'submission_history'", 'to': "orm['odk_logger.Instance']"}), | ||
'xml': ('django.db.models.fields.TextField', [], {}) | ||
}, | ||
'odk_logger.note': { | ||
'Meta': {'object_name': 'Note'}, | ||
'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | ||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'instance': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notes'", 'to': "orm['odk_logger.Instance']"}), | ||
'note': ('django.db.models.fields.TextField', [], {}) | ||
}, | ||
'odk_logger.surveytype': { | ||
'Meta': {'object_name': 'SurveyType'}, | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'slug': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}) | ||
}, | ||
'odk_logger.xform': { | ||
'Meta': {'ordering': "('id_string',)", 'unique_together': "(('user', 'id_string'), ('user', 'sms_id_string'))", 'object_name': 'XForm'}, | ||
'allows_sms': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'bamboo_dataset': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '60'}), | ||
'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | ||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | ||
'description': ('django.db.models.fields.TextField', [], {'default': "u''", 'null': 'True'}), | ||
'downloadable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), | ||
'encrypted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'has_start_time': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'id_string': ('django.db.models.fields.SlugField', [], {'max_length': '100'}), | ||
'is_crowd_form': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'json': ('django.db.models.fields.TextField', [], {'default': "u''"}), | ||
'last_submission_time': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), | ||
'num_of_submissions': ('django.db.models.fields.IntegerField', [], {'default': '-1'}), | ||
'shared': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'shared_data': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'sms_id_string': ('django.db.models.fields.SlugField', [], {'default': "''", 'max_length': '100'}), | ||
'surveys_with_geopoints': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), | ||
'title': ('django.db.models.fields.CharField', [], {'max_length': '64'}), | ||
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'xforms'", 'null': 'True', 'to': u"orm['auth.User']"}), | ||
'uuid': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '32'}), | ||
'xls': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True'}), | ||
'xml': ('django.db.models.fields.TextField', [], {}) | ||
}, | ||
'odk_logger.ziggyinstance': { | ||
'Meta': {'object_name': 'ZiggyInstance'}, | ||
'client_version': ('django.db.models.fields.BigIntegerField', [], {'default': 'None', 'null': 'True'}), | ||
'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), | ||
'date_deleted': ('django.db.models.fields.DateTimeField', [], {'default': 'None', 'null': 'True'}), | ||
'date_modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), | ||
'entity_id': ('django.db.models.fields.CharField', [], {'max_length': '249'}), | ||
'form_instance': ('django.db.models.fields.TextField', [], {}), | ||
'form_version': ('django.db.models.fields.CharField', [], {'default': "u'1.0'", 'max_length': '10'}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'instance_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '249'}), | ||
'reporter': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ziggys'", 'to': u"orm['auth.User']"}), | ||
'server_version': ('django.db.models.fields.BigIntegerField', [], {}), | ||
'xform': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ziggy_submissions'", 'null': 'True', 'to': "orm['odk_logger.XForm']"}) | ||
}, | ||
u'taggit.tag': { | ||
'Meta': {'object_name': 'Tag'}, | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '100'}), | ||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '100'}) | ||
}, | ||
u'taggit.taggeditem': { | ||
'Meta': {'object_name': 'TaggedItem'}, | ||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'taggit_taggeditem_tagged_items'", 'to': u"orm['contenttypes.ContentType']"}), | ||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), | ||
'object_id': ('django.db.models.fields.IntegerField', [], {'db_index': 'True'}), | ||
'tag': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'taggit_taggeditem_items'", 'to': u"orm['taggit.Tag']"}) | ||
} | ||
} | ||
|
||
complete_apps = ['odk_logger'] |
Oops, something went wrong.