From 66148963272e94034940e52ebfeaf4ea79b2d339 Mon Sep 17 00:00:00 2001 From: root <schachi@mpi-magdeburg.mpg.de> Date: Tue, 28 Jun 2016 13:09:11 +0200 Subject: [PATCH] update sort, kennzeichen --- conf.ini | 2 +- conf/ApplicationDelegate.php | 37 +++++++++++++++++++++++++---------- cronjobs/cronDatabase.php | 15 +++++++------- install/updateDB_1000.sql | 14 +++++++++++++ tables/list_gefahr/fields.ini | 7 +++++++ tables/valuelists.ini | 3 +++ tables/view_gefahr/fields.ini | 13 ++++++++---- 7 files changed, 68 insertions(+), 23 deletions(-) diff --git a/conf.ini b/conf.ini index 11f1d6c..6b558ba 100644 --- a/conf.ini +++ b/conf.ini @@ -35,7 +35,7 @@ driver = "mysqli" [_own] dn = "mpi-magdeburg.mpg.de" notify = 30 -version = 1.0.05 +version = 1.0.06 mailto = "db-responsable@<domain>.mpg.de" mailname = "db-admin" diff --git a/conf/ApplicationDelegate.php b/conf/ApplicationDelegate.php index f0c616a..b19b2c7 100644 --- a/conf/ApplicationDelegate.php +++ b/conf/ApplicationDelegate.php @@ -37,16 +37,33 @@ class conf_ApplicationDelegate { function beforeHandleRequest() { $app = Dataface_Application::getInstance(); $query =& $app->getQuery(); - // Sortierung aendern Common - if ( !$_POST AND $query['-table'] == 'list_reiter' AND !@$query['-sort'] ) $query['-sort'] = 'reiter'; - if ( !$_POST AND $query['-table'] == 'mpi_ablage' AND !@$query['-sort'] ) $query['-sort'] = 'zeitstempel DESC'; - if ( !$_POST and $query['-table'] == 'mpi_users' AND !@$query['-sort'] ) $query['-sort'] = 'zeitstempel DESC'; - // Sortierung aendern individuell - if ( !$_POST AND $query['-table'] == 'list_gefahr' AND !@$query['-sort'] ) $query['-sort'] = 'hsatz'; - if ( !$_POST AND $query['-table'] == 'list_lgk' AND !@$query['-sort'] ) $query['-sort'] = 'priority'; - if ( !$_POST AND $query['-table'] == 'view_gefahr' AND !@$query['-sort'] ) $query['-sort'] = 'kategorie, substanz'; - if ( !$_POST AND $query['-table'] == 'view_chemAll' AND !@$query['-sort'] ) $query['-sort'] = 'substanz, gruppe'; - if ( !$_POST AND $query['-table'] == 'view_ablageAll' AND !@$query['-sort'] ) $query['-sort'] = 'zeitstempel DESC'; + $table = $query['-table']; + // wenn relationship dann kein sort fuer table notwendig, @ verhindert error message in log + if ( !@$query['-relationship'] ) { + if ( !$_POST AND !@$query['-sort'] ) { + // Sortierung aendern Common + if ( $table == 'list_reiter' ) $query['-sort'] = 'reiter'; + if ( $table == 'mpi_ablage' ) $query['-sort'] = 'zeitstempel DESC'; + if ( $table == 'mpi_users' ) $query['-sort'] = 'zeitstempel DESC'; + // Sortierung aendern individuell + if ( $table == 'list_gefahr' ) $query['-sort'] = 'hsatz'; + if ( $table == 'list_lgk' ) $query['-sort'] = 'priority'; + if ( $table == 'view_gefahr' ) $query['-sort'] = 'kategorie, substanz'; + if ( $table == 'view_chemAll' ) $query['-sort'] = 'substanz, gruppe'; + if ( $table == 'view_ablageAll' ) $query['-sort'] = 'zeitstempel DESC'; + } +/* + } else { + // Sortierung relationship's - wird aber leider in section nicht beachtet, besser ueber __sql__ in relationship, + // aber dann evtl. wieder zeitprobleme (z.B. dateiablage) + if ( !$_POST AND @$query['-relationship'] AND !@$query['-related:sort'] ) { + $relation = $query['-relationship']; + //if ( $relation == 'mengenfluss' ) $query['-related:sort'] = 'zeitstempel DESC'; + //if ( $relation == 'wartung' ) $query['-related:sort'] = 'naechste'; + //if ( $relation == 'notiz' ) $query['-related:sort'] = 'zeitstempel DESC'; + } +*/ + } } } diff --git a/cronjobs/cronDatabase.php b/cronjobs/cronDatabase.php index a2c23dd..ed0b5ba 100644 --- a/cronjobs/cronDatabase.php +++ b/cronjobs/cronDatabase.php @@ -2,25 +2,24 @@ // Cronjob Skript fuer Aktionen ausserhalb der DB // z.B. Mailbenachrichtigung, Loeschen verwaister Ablagen etc. -// Beispiele folgend -// schachi 2016-06-09 +// schachi 2016-06-28 // stelle sicher das dieses Skript in einem Subdir liegt, normalerweise im Ordner cronjobs, sonst gibt es kausale Problem :-( chdir(__DIR__); chdir('../'); //print_r (realpath(__DIR__).' '.getcwd()."\n"); - if (!is_readable('conf.ini') ) die ('Error loading config file from here '.getcwd()."\n"); + if (!is_readable('conf.ini') ) trigger_error ('Error loading config file from here '.getcwd()."\n"); $conf = array(); $conf = parse_ini_file('conf.ini', true); //print_r ($conf); - if ( !isset( $conf['_database'] ) ) die ('Error loading config file. No database specified.'); + if ( !isset( $conf['_database'] ) ) trigger_error ('Error loading config file. No database specified.'); $dbinfo =& $conf['_database']; if ( !is_array( $dbinfo ) || !isset($dbinfo['host']) || !isset( $dbinfo['user'] ) || !isset( $dbinfo['password'] ) || !isset( $dbinfo['name'] ) ) { - die ('Error loading config file. The database information was not entered correctly.'); + trigger_error ('Error loading config file. The database information was not entered correctly.'); } $db = mysqli_connect($dbinfo['host'], $dbinfo['user'], $dbinfo['password'], $dbinfo['name'] ); - if ( !$db ) die ('Failed to connect to MySQL database: '.mysqli_connect_error()."\n"); + if ( !$db ) trigger_error ('Failed to connect to MySQL database: '.mysqli_connect_error($db)."\n"); $debug = 0; // 1 = ausgabe und keine Mail an User $mailto = 0; // 0 = keine Mail an Debugger @@ -40,14 +39,14 @@ // loesche alle <table>__history, welche nicht erwuenscht sind // Xataface hat nur einen globalen Schalter ON/OFF fuer history, aber wer braucht denn alle histories? $sql = "SELECT reiter FROM view_reiter WHERE reiter IN (SELECT CONCAT(lst.reiter, '__history') AS table_his FROM list_reiter AS lst LEFT JOIN view_reiter AS vReit ON lst.reiter = vReit.reiter WHERE lst.history = '0' AND vReit.table_type = 'BASE TABLE' AND lst.reiter NOT LIKE '%__history') AND table_type = 'BASE TABLE';"; - $result = mysqli_query($db, $sql) OR die ('Query failed: '.mysqli_connect_error()."\n"); + $result = mysqli_query($db, $sql) OR trigger_error ('Query failed: '.mysqli_error($db)."\n"); $count = mysqli_num_rows($result); if ( $count >= 1 ) { while($row = mysqli_fetch_assoc($result)) { $table = $row['reiter']; $sql = "DROP TABLE IF EXISTS $table;"; if ($debug) echo "$sql\n"; - mysqli_query($db, $sql) OR die ('Query failed: '.mysqli_connect_error()."\n"); + mysqli_query($db, $sql) OR trigger_error ('Query failed: '.mysqli_error($db)."\n"); } } diff --git a/install/updateDB_1000.sql b/install/updateDB_1000.sql index dcc3a3e..93382c3 100644 --- a/install/updateDB_1000.sql +++ b/install/updateDB_1000.sql @@ -163,6 +163,20 @@ END IF; END IF; +-- CHANGES V1.0.06 - 2016-06-27 +-- **************************** + -- fs::conf - Sortierung in ApplicationDelegate.php + -- db::list_gefahr - add field kennzeichen + + IF ( SELECT MAX(version) FROM dataface__version ) < '1006' THEN + + -- db::list_gefahr - add field kennzeichen + ALTER TABLE list_gefahr ADD kennzeichen VARCHAR(50) NULL AFTER lgk ; + + TRUNCATE dataface__version; + INSERT INTO dataface__version (version) VALUES ('1006'); + END IF; + END; $$ diff --git a/tables/list_gefahr/fields.ini b/tables/list_gefahr/fields.ini index 563b54c..88fbd7e 100644 --- a/tables/list_gefahr/fields.ini +++ b/tables/list_gefahr/fields.ini @@ -40,3 +40,10 @@ widget:label = "Lagerklasse" widget:type = "select" vocabulary= "lagerklasse" filter = 1 + +[kennzeichen] +widget:label = "Kennzeichen" +widget:type = yui_autocomplete +widget:atts:size = 50 +vocabulary = kennzeichen + diff --git a/tables/valuelists.ini b/tables/valuelists.ini index 80dbb1e..293f704 100644 --- a/tables/valuelists.ini +++ b/tables/valuelists.ini @@ -66,6 +66,9 @@ __sql__ = "SELECT ablageID, filename FROM view_ablageAll" [lagerklasse] __sql__ = "SELECT lgk,CONCAT(lgk,' : ',beschreibung) from list_lgk" +[kennzeichen] +__sql__ = "SELECT IFNULL(kennzeichen, '--') FROM list_gefahr GROUP BY kennzeichen ORDER BY kennzeichen" + ; ENDE diff --git a/tables/view_gefahr/fields.ini b/tables/view_gefahr/fields.ini index 558fd50..85745e8 100644 --- a/tables/view_gefahr/fields.ini +++ b/tables/view_gefahr/fields.ini @@ -1,4 +1,4 @@ -__sql__ = "SELECT vGef.*, lGef.cmr, lGef.anweisung, lGef.lgk FROM view_gefahr AS vGef LEFT JOIN list_gefahr AS lGef ON lGef.kategorie = vGef.kategorie" +__sql__ = "SELECT vGef.*, lGef.cmr, lGef.anweisung, lGef.lgk, lGef.kennzeichen FROM view_gefahr AS vGef LEFT JOIN list_gefahr AS lGef ON lGef.kategorie = vGef.kategorie" ; ORDER BY kategorie, substanz [__global__] @@ -41,12 +41,17 @@ widget:label = "BA" filter = 1 order = 60 +[kennzeichen] +widget:type = static +widget:label = "Kennzeichen" +order = 70 + [gruppe] filter = 1 -order = 70 +order = 80 [bearbeiter] -order = 80 +order = 90 [zeitstempel] -order = 90 +order = 100 -- GitLab