r89 - in trunk/src/fr/ifremer/wlo: . storage
Author: kmorin Date: 2014-04-01 11:35:09 +0200 (Tue, 01 Apr 2014) New Revision: 89 Url: http://forge.codelutin.com/projects/wlo/repository/revisions/89 Log: fixes #4881 [ESPECE COMMERCIALE] Empecher de d?\195?\169grader une pr?\195?\169cision si des donn?\195?\169es sont d?\195?\169j?\195?\160 saisies Modified: trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java trunk/src/fr/ifremer/wlo/storage/WloSqlOpenHelper.java Modified: trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java =================================================================== --- trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java 2014-04-01 09:08:18 UTC (rev 88) +++ trunk/src/fr/ifremer/wlo/CommercialSpeciesFormActivity.java 2014-04-01 09:35:09 UTC (rev 89) @@ -137,6 +137,14 @@ } }); precisionSpinner.setSelection(model.getPrecision().ordinal()); + boolean precisionEnabled = model.isNew(); + if (!precisionEnabled) { + WloSqlOpenHelper soh = new WloSqlOpenHelper(this); + Cursor cursor = soh.getAllMeasurementsForCommercialSpecies(model.getId()); + int measurementNb = cursor.getCount(); + precisionEnabled = measurementNb == 0; + } + precisionSpinner.setEnabled(precisionEnabled); Set<String> sortCategories = DataCache.getAllSortCategories(this); sortCategories.remove(""); Modified: trunk/src/fr/ifremer/wlo/storage/WloSqlOpenHelper.java =================================================================== --- trunk/src/fr/ifremer/wlo/storage/WloSqlOpenHelper.java 2014-04-01 09:08:18 UTC (rev 88) +++ trunk/src/fr/ifremer/wlo/storage/WloSqlOpenHelper.java 2014-04-01 09:35:09 UTC (rev 89) @@ -66,6 +66,7 @@ private static final String TAG = "WloOpenHelper"; public static final String DATABASE_NAME = "wlo.db"; + // if you change the version, do not forget to migrate the data in the onUpgrade method public static final int DATABASE_VERSION = 19; public static final String TEXT_TYPE = " TEXT"; @@ -413,7 +414,6 @@ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - //TODO kmorin 20131129 migrate data before droping the table // models db.execSQL(SQL_DELETE_CALCIFIED_PART_TAKINGS); db.execSQL(SQL_DELETE_CATEGORY_WEIGHTS); @@ -516,6 +516,17 @@ return cursor; } + public Cursor getAllMeasurementsForCommercialSpecies(String commercialSpeciesId) { + SQLiteDatabase db = getReadableDatabase(); + String query = "SELECT * FROM " + MeasurementModel.TABLE_NAME + " m INNER JOIN " + + ScientificSpeciesModel.TABLE_NAME + " s " + + "ON m." + MeasurementModel.COLUMN_SCIENTIFIC_SPECIES_ID + " = " + + "s." + ScientificSpeciesModel._ID + + " WHERE s." + ScientificSpeciesModel.COLUMN_COMMERCIAL_SPECIES_ID + "=?"; + Cursor cursor = db.rawQuery(query, new String[]{ commercialSpeciesId }); + return cursor; + } + //SCIENTIFIC SPECIES public Cursor getAllScientificSpecies(String commercialSpeciesId) {
participants (1)
-
kmorin@users.forge.codelutin.com