2010-09-21 Tim Englich RELEASE 0.6 * docs/conf.py: Set version Number to 0.6 and set Revisionnumber to last Revision. 2010-09-21 Tim Englich ISSUE232 * fgskmf/public/app/js/fgskmf_layout.js: Added ratio:1 to each Layer so that the size of the images are as big as the size of the window. 2010-09-21 Tim Englich ISSUE232 * fgskmf/public/app/js/fgskmf_layout.js: Added some more zoomlevels to get a better handling of the zoombox-tool. 2010-09-20 Tim Englich * contrib/db/routen_utils.sql: Changed order of functions to enable the creation of the functions in an empty database. 2010-09-20 Tim Englich ISSUE209 * docs/images/fgsk_kartierabschnitt_rating.png: Added Screenshots where all ratings are displaied along the watersection. 2010-09-17 Tim Englich ISSUE225 msg2297 * contrib/db/auswertung_gesamt.sql: Removed rounding of ratings and store the double-values into the database. * contrib/db/dbschema.sql: Changed all columns for storing the different kinds of ratings in table 'kartierabschnitt' from integer to numeric. 2010-09-17 Tim Englich * contrib/db/auswertung_kartierabschnitt.sql, contrib/db/auswertung_laufentwicklung.sql, contrib/db/auswertung_sohlenstruktur.sql, contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_laengsprofil.sql, contrib/db/auswertung_uferstruktur.sql, contrib/db/auswertung_querprofil.sql: Added some Debugmessages so that it is easier to refer the logoutput to an 'kartierabschnitt' and to refer which output belongs to one ratingcalculation. 2010-09-17 Tim Englich ISSUE225 * contrib/db/auswertungs_daten.sql: Changed lower border for 'substrate' to 0 for the rating 1 according to the results of an telephone call with ms. kasper (biota) * contrib/db/auswertung_querprofil.sql: Added the 'kartierabschnitts_id' to the statement for selecting the 'obere Profilbreite'. Without this restriction all values of 'obere Profilbreite' will be fetched from the database which causes mistakes in the rating. 2010-09-15 Ingo Weinzierl * contrib/db/routen_utils.sql, contrib/db/utils.sql, fgskmf/model/routen.py: Removed explicit search path declarations when accessing database tables. 2010-09-14 Ingo Weinzierl * contrib/mapserver/layer.include: Changed the name of the routen table from 'mv_routen_neu' to 'route_35833'. 2010-09-14 Ingo Weinzierl ISSUE220 * contrib/db/routen_utils.sql: Changed the way to determine the subgeometry of a route specified by the station parameter 'from' and 'to'. * contrib/db/utils.sql: Added schema definitions to the fgsk tables. * fgskmf/lib/helpers.py: Adapted the db function call to validate the current water section. 2010-09-14 Stephan Holl * images/fgsk_db-schema.png, images/fgsk_db-schema_small.png: New. Added DB-schema ripped off the DB with the following command: postgresql_autodoc -u fgsk -d fgsk_sh -h \ fiji.atlas.intevation.de -p 15815 -s fgsk --password && dot \ -Tpng fgsk_sh.dot > fgsk_sh.png * install.rst: Added section about our nifty db-schema. 2010-09-13 Ingo Weinzierl ISSUE220 * contrib/db/routen_utils.sql, fgskmf/model/routen.py, layers.ini: Adapted table names to the database schema described in the issue. * fgskmf/model/__init__.py: Added some SQLAlchemy mappings for the relevant tables of the new database schema. * fgskmf/lib/helpers.py: Added some helpers functions to search for a 'Wasserkoerper' specified by a 'Gewaesserkennung'. * fgskmf/controllers/form.py: Removed the determination of the 'Wasserkoerper'. This process is moved to lib/helpers.py (see above). * fgskmf/controllers/kartierabschnitt.py: Removed unused import statement. 2010-09-13 Tim Englich ISSUE209 * docs/images/*.png: Resized all images to the same width. 2010-09-13 Tim Englich ISSUE209 * docs/user_doku.rst: Switched Gewaesserkennzahl from 4711 to a valid one. 2010-09-13 Tim Englich ISSUE206 * contrib/etc/init.d/pylons: Change syntax of Script that reload and force-reload will do the same things like restart. This was necessary because the routines for reload and forereload has killed the paster and it was not restarted properly. 2010-09-13 Stephan Holl ISSUE209 * docs/user_doku.rst: QS this chapter, some minor typos 2010-09-13 Tim Englich ISSUE174 * fgskmf/templates/base.html: Added possibility to disable links if no kartierabschnitt is saved yet. This was necessary to prevent that teh user could step to an page where an 'kartierabschnitt' is required. 2010-09-13 Stephan Holl * jsbuild/README.txt: added another missing mkdir 2010-09-13 Tim Englich ISSUE214 * jsbuild/README.txt: Added mkdir statement which was missing. 2010-09-13 Ingo Weinzierl ISSUE214 * fgskmf/public/app/js/fgskmf_layout.js: Added @include statements for necessary javascript files. These statements are interpreted by jsbuild tool. * fgskmf/public/index.html: Replaced the debug mode (non minified javascript files) with the non-debug mode (minified javascript files). NOTE: The minified MapFish.js file is not included in the SVN - this files needs to be created via jsbuild tool (see jsbuild/README.txt for usage). 2010-09-06 Tim Englich ISSUE208 * docs/install.rst: Added section for integrating the startupscript. 2010-09-06 Tim Englich ISSUE209 * docs/user_doku.rst: Added API-Documenatation for the external call to load an 'kartierabschnitt' 2010-09-06 Tim Englich ISSUE209 * docs/user_doku.rst: Added Userdocumentation for Application FGSK * docs/images/fgsk_kartierabschnitt_aftersaveinmap.png, docs/images/fgsk_kartierabschnitt_split_map_activatelayer.png, docs/images/fgsk_kartierabschnitt_split_map_startendpoint.png, docs/images/fgsk_kartierabschnitt_editable.png, docs/images/fgsk_kartierabschnitt_nextstep.png, docs/images/digitize_kartierabschnitt_start.png, docs/images/fgsk_kartierabschnitt_manual.png, docs/images/fgsk_kartierabschnitt.png, docs/images/fgsk_navigation_register.png, docs/images/fgsk_kartierabschnitt_rating.png, docs/images/digitize_kartierabschnitt_startpoint_endpoint.png, docs/images/fgsk_kartierabschnitt_edit.png, docs/images/fgsk_kartierabschnitt_cancle.png, docs/images/fgsk_kartierabschnitt_split_result.png, docs/images/Unbenannt.png, docs/images/fgsk_kartierabschnitt_save.png, docs/images/fgsk_kartierabschnitt_errormessage.png: Added Screenshots for Userdocumentation. 2010-09-06 Ingo Weinzierl ISSUE221 * fgskmf/public/styles/base.css: Added a style for subtypes - now the description does no longer stick to its checkbox. * fgskmf/templates/form.html: The function single(.) got a new parameter 'display_value'. If this value is True, the value of the radio button is displayed in brackets behind the description of the field (the default value of this parameter is False). * fgskmf/templates/kartierabschnitt.html: Display the value of 'Gewaessersubtypen' (display_value parameter set to True, see description above). 2010-09-03 Stephan Holl Deleted a wholelotta examples which are unneeded for the current FGSK-application * fgskmf/public/mfbase/ext/air/samples, fgskmf/public/mfbase/ext/air/samples/tasks, fgskmf/public/mfbase/ext/air/samples/tasks/reminder.js, fgskmf/public/mfbase/ext/air/samples/tasks/main.html, fgskmf/public/mfbase/ext/air/samples/tasks/preferences.css, fgskmf/public/mfbase/ext/air/samples/tasks/task.css, fgskmf/public/mfbase/ext/air/samples/tasks/mimetype, fgskmf/public/mfbase/ext/air/samples/tasks/reminder.css, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/adapter, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/adapter/ext, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/adapter/ext/ext-base.js, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/ext-all.js, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/license.txt, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/tools-sprites-trans.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/white-corners-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/tool-sprite-tpl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/corners-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/light-hd.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/white-top-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/top-bottom.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/white-left-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/tool-sprites.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/top-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/panel/left-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/btn-arrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/tb-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/btn-arrow-light.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/btn-over-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/gray-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/toolbar/tb-btn-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/s.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/icon-warning.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/icon-question.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/icon-error.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/icon-info.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/left-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/left-corners.pspimage, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/top-bottom.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/left-right.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/window/right-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/gradient-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/scroller-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-strip-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-strip-btm-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tabs-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-btm-left-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/scroll-left.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-btm-right-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/scroll-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/tabs/tab-strip-bg.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/button, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/button/btn-arrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/button/btn-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/qtip, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/qtip/tip-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/qtip/close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/gray/qtip/bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shadow-lr.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/loading.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/sort_asc.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/drop-no.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-split.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/columns.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-lock.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid3-hd-btn.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-last-disabled.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/arrow-right-white.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/col-move-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-unlock.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid3-hrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/sort_desc.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hd-pop.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/mso-hd.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/row-expand-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-next.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-desc.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/dirty.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-next-disabled.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/invalid_line.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/pick-button.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/nowait.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/drop-yes.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-lock.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-unlock.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-first-disabled.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-last.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/group-expand-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/row-over.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/hmenu-asc.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/col-move-top.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/Thumbs.db, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/footer-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/done.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-prev.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/row-check-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid3-special-col-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/row-sel.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-prev-disabled.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid3-hrow-over.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/refresh.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/arrow-left-white.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-loading.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/page-first.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-vista-hd.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-hrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-blue-hd.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid-blue-split.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/group-by.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/wait.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/grid/grid3-special-col-sel-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/editor, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/editor/tb-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/gradient-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/dd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/dd/drop-no.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/dd/drop-yes.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/dd/drop-add.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shadow-c.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/corners.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/l.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/corners-blue.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/l-blue.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/r.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/tb.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/r-blue.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/box/tb-blue.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/scroller-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-strip-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-strip-btm-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tabs-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-btm-inactive-left-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-btm-left-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/scroll-left.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-btm-inactive-right-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-btm-right-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/scroll-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tabs/tab-strip-bg.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/ne-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/s-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/e-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/nw-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/e-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/nw-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/se-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/se-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/square.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/sw-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/sw-handle.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/ne-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/sizer/s-handle-dark.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/folder.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-end-minus-nl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-end.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/loading.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/arrows.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-over.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-no.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-under.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-plus.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-add.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-between.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-end-plus.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-line.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-plus-nl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-minus.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/drop-yes.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/s.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-end-plus-nl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-end-minus.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/leaf.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow-minus-nl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/elbow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/tree/folder-open.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/tools-sprites-trans.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/white-corners-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/tool-sprite-tpl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/corners-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/light-hd.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/white-top-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/top-bottom.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/white-left-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/tool-sprites.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/top-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/panel/left-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/btn-arrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/tb-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/btn-arrow-light.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/btn-over-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/gray-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/toolbar/tb-btn-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/error-tip-corners.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/date-trigger.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/date-trigger.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/trigger-tpl.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/trigger.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/exclamation.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/trigger.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/search-trigger.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/clear-trigger.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/search-trigger.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/clear-trigger.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/form/text-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/menu-parent.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/group-checked.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/menu.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/checked.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/item-over.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/menu/unchecked.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/progress, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/progress/progress-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/left-btn.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/right-btn.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/glass-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/hd-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/blue-loading.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/large-loading.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/warning.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/loading-balls.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shared/calendar.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/s.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/icon-warning.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/icon-question.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/icon-error.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/icon-info.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/left-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/top-bottom.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/left-corners.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/left-right.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/right-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/top-bottom.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/left-right.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/window/right-corners.psd, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/shadow.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/button, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/button/btn-arrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/button/btn-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/qtip, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/qtip/tip-sprite.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/qtip/close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/qtip/bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/stick.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/expand.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/ns-collapse.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/gradient-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/tab-close-on.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/mini-left.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/stuck.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/mini-top.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/ns-expand.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/mini-bottom.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/collapse.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/panel-close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/panel-title-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/mini-right.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/panel-title-light-bg.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/images/default/layout/tab-close.gif, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/css, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/css/xtheme-gray.css, fgskmf/public/mfbase/ext/air/samples/tasks/ext-2.0/resources/css/ext-all.css, fgskmf/public/mfbase/ext/air/samples/tasks/main.js, fgskmf/public/mfbase/ext/air/samples/tasks/LICENSE.TXT, fgskmf/public/mfbase/ext/air/samples/tasks/application.xml, fgskmf/public/mfbase/ext/air/samples/tasks/preferences.html, fgskmf/public/mfbase/ext/air/samples/tasks/STasks2.air, fgskmf/public/mfbase/ext/air/samples/tasks/task.html, fgskmf/public/mfbase/ext/air/samples/tasks/images, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-by-category.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-by-date.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-show-all.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/reminder-hd.png, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-list-new.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-delete-task.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-folder-new.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/bell.png, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-complete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/save.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/my-lists.png, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-list.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-active.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-folder.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-filter.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-show-complete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/check.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/hrow.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-show-active.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/edit.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/panel-header.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-mark-complete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-mark-active.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-multi-list.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-paste-new.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-no-group.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-all.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-folder-delete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/icon-list-delete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/delete.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/s.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/rbtn.gif, fgskmf/public/mfbase/ext/air/samples/tasks/images/hd-check.gif, fgskmf/public/mfbase/ext/air/samples/tasks/reminder.html, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/ext-air.js, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/ext-air-debug.js, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/air-resources.jsb, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/ext-air.css, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/images, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/images/left-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/images/top-bottom.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/images/left-right.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/images/right-corners.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons/extlogo128.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons/extlogo48.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons/extlogo32.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons/extlogo16.png, fgskmf/public/mfbase/ext/air/samples/tasks/ext-air/resources/icons/extlogo64.png, fgskmf/public/mfbase/ext/air/samples/tasks/beep.mp3, fgskmf/public/mfbase/ext/air/samples/tasks/tasks.db, fgskmf/public/mfbase/ext/air/samples/tasks/adobe, fgskmf/public/mfbase/ext/air/samples/tasks/adobe/AIRIntrospector.js, fgskmf/public/mfbase/ext/air/samples/tasks/adobe/AIRAliases.js, fgskmf/public/mfbase/ext/air/samples/tasks/main.css, fgskmf/public/mfbase/ext/air/samples/tasks/js, fgskmf/public/mfbase/ext/air/samples/tasks/js/Reminder.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/Exporter.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/TaskGrid.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/data.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/ListSelector.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/TaskStore.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/columns.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/TextDate.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/ListStore.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/SelectBox.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/TaskWindow.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/ListTree.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/SwitchButton.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/Templates.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/DateTimeField.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/TreeSelector.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/Importer.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/ListLoader.js, fgskmf/public/mfbase/ext/air/samples/tasks/js/ext-config.js, fgskmf/public/mfbase/ext/air/samples/tasks/preferences.js, fgskmf/public/mfbase/ext/air/samples/tasks/about.html, fgskmf/public/mfbase/ext/air/samples/tasks/task.js, fgskmf/public/mfbase/openlayers/apidoc_config, fgskmf/public/mfbase/openlayers/apidoc_config/Topics.txt, fgskmf/public/mfbase/openlayers/apidoc_config/OL.css, fgskmf/public/mfbase/openlayers/apidoc_config/Menu.txt, fgskmf/public/mfbase/openlayers/apidoc_config/Languages.txt, fgskmf/public/mfbase/openlayers/doc_config, fgskmf/public/mfbase/openlayers/doc_config/Topics.txt, fgskmf/public/mfbase/openlayers/doc_config/OL.css, fgskmf/public/mfbase/openlayers/doc_config/Menu.txt, fgskmf/public/mfbase/openlayers/doc_config/Languages.txt, fgskmf/public/mfbase/openlayers/doc, fgskmf/public/mfbase/openlayers/doc/authors.txt, fgskmf/public/mfbase/openlayers/doc/walkthru.html, fgskmf/public/mfbase/openlayers/doc/licenses, fgskmf/public/mfbase/openlayers/doc/licenses/BSD-LICENSE.txt, fgskmf/public/mfbase/openlayers/doc/licenses/MIT-LICENSE.txt, fgskmf/public/mfbase/openlayers/doc/licenses/APACHE-2.0.txt, fgskmf/public/mfbase/openlayers/doc/customization, fgskmf/public/mfbase/openlayers/doc/readme.txt, fgskmf/public/mfbase/openlayers/examples, fgskmf/public/mfbase/openlayers/examples/arcims.html, fgskmf/public/mfbase/openlayers/examples/proxy.cgi, fgskmf/public/mfbase/openlayers/examples/tilecache.html, fgskmf/public/mfbase/openlayers/examples/animator.js, fgskmf/public/mfbase/openlayers/examples/sundials.html, fgskmf/public/mfbase/openlayers/examples/split-feature.html, fgskmf/public/mfbase/openlayers/examples/wideshort.jpg, fgskmf/public/mfbase/openlayers/examples/mapserver_untiled.html, fgskmf/public/mfbase/openlayers/examples/teleportation.html, fgskmf/public/mfbase/openlayers/examples/kamap.html, fgskmf/public/mfbase/openlayers/examples/gml-layer.html, fgskmf/public/mfbase/openlayers/examples/xyz-esri.html, fgskmf/public/mfbase/openlayers/examples/image-layer.html, fgskmf/public/mfbase/openlayers/examples/panel.html, fgskmf/public/mfbase/openlayers/examples/xml.html, fgskmf/public/mfbase/openlayers/examples/controls.html, fgskmf/public/mfbase/openlayers/examples/kamap.txt, fgskmf/public/mfbase/openlayers/examples/georss-markers.html, fgskmf/public/mfbase/openlayers/examples/google-reproject.html, fgskmf/public/mfbase/openlayers/examples/regular-polygons.html, fgskmf/public/mfbase/openlayers/examples/boxes-vector.html, fgskmf/public/mfbase/openlayers/examples/WMSDescribeLayerParser.html, fgskmf/public/mfbase/openlayers/examples/filter.html, fgskmf/public/mfbase/openlayers/examples/custom-control.html, fgskmf/public/mfbase/openlayers/examples/strategy-bbox.html, fgskmf/public/mfbase/openlayers/examples/graphic-name.html, fgskmf/public/mfbase/openlayers/examples/lite.html, fgskmf/public/mfbase/openlayers/examples/thinlong.jpg, fgskmf/public/mfbase/openlayers/examples/wfs-t.html, fgskmf/public/mfbase/openlayers/examples/marker-shadow.html, fgskmf/public/mfbase/openlayers/examples/events.html, fgskmf/public/mfbase/openlayers/examples/overviewmap.html, fgskmf/public/mfbase/openlayers/examples/example-list.html, fgskmf/public/mfbase/openlayers/examples/markersTextLayer.html, fgskmf/public/mfbase/openlayers/examples/marker_shadow.png, fgskmf/public/mfbase/openlayers/examples/drag-feature.html, fgskmf/public/mfbase/openlayers/examples/attribution-eliminated-duplicates.html, fgskmf/public/mfbase/openlayers/examples/mm.html, fgskmf/public/mfbase/openlayers/examples/WMSPost.html, fgskmf/public/mfbase/openlayers/examples/vector-features.html, fgskmf/public/mfbase/openlayers/examples/wrapDateLine.html, fgskmf/public/mfbase/openlayers/examples/style.css, fgskmf/public/mfbase/openlayers/examples/layerswitcher.html, fgskmf/public/mfbase/openlayers/examples/getfeatureinfo-control.html, fgskmf/public/mfbase/openlayers/examples/popups.html, fgskmf/public/mfbase/openlayers/examples/draw-feature.html, fgskmf/public/mfbase/openlayers/examples/projected-map.html, fgskmf/public/mfbase/openlayers/examples/mouse-position.html, fgskmf/public/mfbase/openlayers/examples/select-feature-openpopup.html, fgskmf/public/mfbase/openlayers/examples/wfs.html, fgskmf/public/mfbase/openlayers/examples/wfs-states.html, fgskmf/public/mfbase/openlayers/examples/georss.html, fgskmf/public/mfbase/openlayers/examples/popupMatrix.jpg, fgskmf/public/mfbase/openlayers/examples/buffer.html, fgskmf/public/mfbase/openlayers/examples/worldwind.html, fgskmf/public/mfbase/openlayers/examples/custom-control-point.html, fgskmf/public/mfbase/openlayers/examples/yahoo.html, fgskmf/public/mfbase/openlayers/examples/modify-feature.html, fgskmf/public/mfbase/openlayers/examples/styles-rotation.html, fgskmf/public/mfbase/openlayers/examples/doubleSetCenter.html, fgskmf/public/mfbase/openlayers/examples/styles-unique.html, fgskmf/public/mfbase/openlayers/examples/snap-split.html, fgskmf/public/mfbase/openlayers/examples/wmst.html, fgskmf/public/mfbase/openlayers/examples/notile.html, fgskmf/public/mfbase/openlayers/examples/osm, fgskmf/public/mfbase/openlayers/examples/osm/sutton_coldfield.osm, fgskmf/public/mfbase/openlayers/examples/xhtml.html, fgskmf/public/mfbase/openlayers/examples/wfs-protocol.html, fgskmf/public/mfbase/openlayers/examples/KMLParser.html, fgskmf/public/mfbase/openlayers/examples/protocol-gears.html, fgskmf/public/mfbase/openlayers/examples/ve-novibrate.html, fgskmf/public/mfbase/openlayers/examples/editingtoolbar.html, fgskmf/public/mfbase/openlayers/examples/urban.html, fgskmf/public/mfbase/openlayers/examples/getfeatureinfo.html, fgskmf/public/mfbase/openlayers/examples/osm-layer.html, fgskmf/public/mfbase/openlayers/examples/vector-features-with-text.html, fgskmf/public/mfbase/openlayers/examples/ordering.html, fgskmf/public/mfbase/openlayers/examples/arcims-thematic.html, fgskmf/public/mfbase/openlayers/examples/strategy-cluster-threshold.html, fgskmf/public/mfbase/openlayers/examples/editingtoolbar-outside.html, fgskmf/public/mfbase/openlayers/examples/boxes.html, fgskmf/public/mfbase/openlayers/examples/pan-zoom-panels.html, fgskmf/public/mfbase/openlayers/examples/intersects.html, fgskmf/public/mfbase/openlayers/examples/wmc.html, fgskmf/public/mfbase/openlayers/examples/transition.html, fgskmf/public/mfbase/openlayers/examples/example.html, fgskmf/public/mfbase/openlayers/examples/mapguide.html, fgskmf/public/mfbase/openlayers/examples/kml-layer.html, fgskmf/public/mfbase/openlayers/examples/accessible.html, fgskmf/public/mfbase/openlayers/examples/navigation-history.html, fgskmf/public/mfbase/openlayers/examples/outOfRangeMarkers.html, fgskmf/public/mfbase/openlayers/examples/wfs-reprojection.html, fgskmf/public/mfbase/openlayers/examples/late-render.html, fgskmf/public/mfbase/openlayers/examples/markerResize.html, fgskmf/public/mfbase/openlayers/examples/wfs-protocol-transactions.html, fgskmf/public/mfbase/openlayers/examples/fractional-zoom.html, fgskmf/public/mfbase/openlayers/examples/mapserver.html, fgskmf/public/mfbase/openlayers/examples/markers.html, fgskmf/public/mfbase/openlayers/examples/mvs.html, fgskmf/public/mfbase/openlayers/examples/wms.html, fgskmf/public/mfbase/openlayers/examples/custom-style.html, fgskmf/public/mfbase/openlayers/examples/georss-flickr.html, fgskmf/public/mfbase/openlayers/examples/gml, fgskmf/public/mfbase/openlayers/examples/gml/multipolygon.xml, fgskmf/public/mfbase/openlayers/examples/gml/multipoint.xml, fgskmf/public/mfbase/openlayers/examples/gml/owls.xml, fgskmf/public/mfbase/openlayers/examples/gml/line.xml, fgskmf/public/mfbase/openlayers/examples/gml/polygon.xml, fgskmf/public/mfbase/openlayers/examples/gml/point.xml, fgskmf/public/mfbase/openlayers/examples/resize-features.html, fgskmf/public/mfbase/openlayers/examples/openmnnd.html, fgskmf/public/mfbase/openlayers/examples/snapping.html, fgskmf/public/mfbase/openlayers/examples/kml, fgskmf/public/mfbase/openlayers/examples/kml/sundials.kml, fgskmf/public/mfbase/openlayers/examples/kml/styles.kml, fgskmf/public/mfbase/openlayers/examples/kml/lines.kml, fgskmf/public/mfbase/openlayers/examples/behavior-fixed-http-gml.html, fgskmf/public/mfbase/openlayers/examples/getfeature-wfs.html, fgskmf/public/mfbase/openlayers/examples/animated_panning.html, fgskmf/public/mfbase/openlayers/examples/highlight-feature.html, fgskmf/public/mfbase/openlayers/examples/measure.html, fgskmf/public/mfbase/openlayers/examples/fullScreen.html, fgskmf/public/mfbase/openlayers/examples/styles-context.html, fgskmf/public/mfbase/openlayers/examples/navtoolbar.html, fgskmf/public/mfbase/openlayers/examples/select-feature.html, fgskmf/public/mfbase/openlayers/examples/all-overlays.html, fgskmf/public/mfbase/openlayers/examples/navtoolbar-alwaysZoom.html, fgskmf/public/mfbase/openlayers/examples/navigation-control.html, fgskmf/public/mfbase/openlayers/examples/strategy-cluster.html, fgskmf/public/mfbase/openlayers/examples/spherical-mercator.html, fgskmf/public/mfbase/openlayers/examples/wfs-snap-split.html, fgskmf/public/mfbase/openlayers/examples/popupMatrix.html, fgskmf/public/mfbase/openlayers/examples/point-track-markers.html, fgskmf/public/mfbase/openlayers/examples/stylemap.html, fgskmf/public/mfbase/openlayers/examples/georss.xml, fgskmf/public/mfbase/openlayers/examples/zoomLevels.html, fgskmf/public/mfbase/openlayers/examples/geojson.html, fgskmf/public/mfbase/openlayers/examples/strategy-paging.html, fgskmf/public/mfbase/openlayers/examples/yelp-georss.xml, fgskmf/public/mfbase/openlayers/examples/data, fgskmf/public/mfbase/openlayers/examples/data/line.json, fgskmf/public/mfbase/openlayers/examples/data/roads.json, fgskmf/public/mfbase/openlayers/examples/data/point.json, fgskmf/public/mfbase/openlayers/examples/data/poly.json, fgskmf/public/mfbase/openlayers/examples/getfeatureinfo-popup.html, fgskmf/public/mfbase/openlayers/examples/wms-untiled.html, fgskmf/public/mfbase/openlayers/examples/vector-formats.html, fgskmf/public/mfbase/openlayers/examples/google.html, fgskmf/public/mfbase/openlayers/examples/restricted-extent.html, fgskmf/public/mfbase/openlayers/examples/navtoolbar-outsidemap.html, fgskmf/public/mfbase/openlayers/examples/bing.html, fgskmf/public/mfbase/openlayers/examples/multiserver.html, fgskmf/public/mfbase/openlayers/examples/sld.html, fgskmf/public/mfbase/openlayers/examples/layerLoadMonitoring.html, fgskmf/public/mfbase/openlayers/examples/layer-opacity.html, fgskmf/public/mfbase/openlayers/examples/arcgis93rest.html, fgskmf/public/mfbase/openlayers/examples/setextent.html, fgskmf/public/mfbase/openlayers/examples/small.jpg, fgskmf/public/mfbase/openlayers/examples/widelong.jpg, fgskmf/public/mfbase/openlayers/examples/click.html, fgskmf/public/mfbase/openlayers/examples/debug.html, fgskmf/public/mfbase/openlayers/examples/symbolizers-fill-stroke-graphic.html, fgskmf/public/mfbase/openlayers/examples/tasmania, fgskmf/public/mfbase/openlayers/examples/tasmania/TasmaniaRoads.xml, fgskmf/public/mfbase/openlayers/examples/tasmania/TasmaniaWaterBodies.xml, fgskmf/public/mfbase/openlayers/examples/tasmania/TasmaniaStateBoundaries.xml, fgskmf/public/mfbase/openlayers/examples/tasmania/sld-tasmania.xml, fgskmf/public/mfbase/openlayers/examples/tasmania/TasmaniaCities.xml, fgskmf/public/mfbase/openlayers/examples/baseLayers.html, fgskmf/public/mfbase/openlayers/examples/GMLParser.html, fgskmf/public/mfbase/openlayers/examples/xml, fgskmf/public/mfbase/openlayers/examples/xml/wmsdescribelayer.xml, fgskmf/public/mfbase/openlayers/examples/xml/track1.xml, fgskmf/public/mfbase/openlayers/examples/xml/georss-flickr.xml, fgskmf/public/mfbase/openlayers/examples/xml/features.xml, fgskmf/public/mfbase/openlayers/examples/select-feature-multilayer.html, fgskmf/public/mfbase/openlayers/examples/hover-handler.html, fgskmf/public/mfbase/openlayers/examples/textfile.txt, fgskmf/public/mfbase/openlayers/examples/click-handler.html, fgskmf/public/mfbase/openlayers/examples/browser-name.html, fgskmf/public/mfbase/openlayers/examples/multimap-mercator.html, fgskmf/public/mfbase/openlayers/examples/tms.html, fgskmf/public/mfbase/openlayers/examples/attribution.html, fgskmf/public/mfbase/openlayers/examples/sundials-spherical-mercator.html, fgskmf/public/mfbase/openlayers/examples/outOfRangeMarkers.txt, fgskmf/public/mfbase/openlayers/examples/Jugl.js, fgskmf/public/mfbase/openlayers/examples/rotate-features.html, fgskmf/public/mfbase/openlayers/examples/gutter.html, fgskmf/public/mfbase/openlayers/examples/ve.html, fgskmf/public/mfbase/geoext/examples, fgskmf/public/mfbase/geoext/examples/feature-grid.html, fgskmf/public/mfbase/geoext/examples/zoom-chooser.html, fgskmf/public/mfbase/geoext/examples/feature-grid.js, fgskmf/public/mfbase/geoext/examples/zoomslider.html, fgskmf/public/mfbase/geoext/examples/zoom-chooser.js, fgskmf/public/mfbase/geoext/examples/zoomslider.js, fgskmf/public/mfbase/geoext/examples/tree.html, fgskmf/public/mfbase/geoext/examples/toolbar.html, fgskmf/public/mfbase/geoext/examples/mappanel-window.html, fgskmf/public/mfbase/geoext/examples/search-form.html, fgskmf/public/mfbase/geoext/examples/data, fgskmf/public/mfbase/geoext/examples/data/summits.json, fgskmf/public/mfbase/geoext/examples/data/wmscap.xml, fgskmf/public/mfbase/geoext/examples/data/describe_feature_type.xml, fgskmf/public/mfbase/geoext/examples/tree.js, fgskmf/public/mfbase/geoext/examples/layeropacityslider.html, fgskmf/public/mfbase/geoext/examples/mappanel-viewport.html, fgskmf/public/mfbase/geoext/examples/toolbar.js, fgskmf/public/mfbase/geoext/examples/mappanel-window.js, fgskmf/public/mfbase/geoext/examples/mappanel-div.html, fgskmf/public/mfbase/geoext/examples/legendpanel.html, fgskmf/public/mfbase/geoext/examples/search-form.js, fgskmf/public/mfbase/geoext/examples/layercontainer.html, fgskmf/public/mfbase/geoext/examples/layeropacityslider.js, fgskmf/public/mfbase/geoext/examples/mappanel-viewport.js, fgskmf/public/mfbase/geoext/examples/mappanel-div.js, fgskmf/public/mfbase/geoext/examples/legendpanel.js, fgskmf/public/mfbase/geoext/examples/attributes.html, fgskmf/public/mfbase/geoext/examples/layercontainer.js, fgskmf/public/mfbase/geoext/examples/wms-capabilities.html, fgskmf/public/mfbase/geoext/examples/attributes.js, fgskmf/public/mfbase/geoext/examples/popup.html, fgskmf/public/mfbase/geoext/examples/wms-capabilities.js, fgskmf/public/mfbase/geoext/examples/popup.js: Deleted 2010-09-03 Stephan Holl ISSUE206 * contrib/os, contrib/os/fgsk-server-init-script, contrib/os/run.sh: deleted. In favour of the new init-scripted deleted this stubs. * contrib/etc/init.d/pylons: Added log-file under /var/log/pylons_0.log TODO: update Admin-dok accordingly (issue208) 2010-09-03 Ingo Weinzierl ISSUE206 * contrib/etc/default/pylons: Some important parameter are configured here: the location of the virtual environment, the user that should start the paster server and of course the .ini file used to start the server. * contrib/etc/init.d/pylons: Start script to start all paster server specified in /etc/default/pylons. Both scripts has been downloaded from: "http://wiki.pylonshq.com/display/pylonscookbook/init.d+script+to+start+and+stop+an+app" 2010-09-03 Ingo Weinzierl ISSUE161 * contrib/mapserver/layer.include: Corrected db table column names. * contrib/mapserver/fgsk-wms.map: Added a MAXSIZE of 4096. 2010-09-03 Ingo Weinzierl * contrib/db/dbschema.sql: The columns 'stationierung_von' and 'stationierung_bis' are integer columns now (numeric before). * fgskmf/controllers/eingang.py: Transform user input to integers - not to float. * fgskmf/controllers/kartierabschnitt.py: Handle the start and end point of the section as integer value - database schema has changed (see above). * fgskmf/lib/validators.py: Changed the validators for the entrance and the 'kartierabschnitt' section. Only integer values are allowed for the start and endpoint of the section. 2010-09-03 Tim Englich ISSUE209: Integrated documentation into FGSK-GUI * docs/Makefile: Added commands for publishing the documentation-files into the webapplication so that they can be reached by the webserver. * fgskmf/public/app/js/fgskmf_layout.js: Integrated Panel to enable the manual in the gui. * fgskmf/public/help/index.html: Added dummy-page for help-pages with a short howto for deploying the manual-files. * fgskmf/public/index.html: Added new div with iframe for including the help-pages 2010-09-03 Stephan Holl * fgskmf/templates/missing_params.html, fgskmf/templates/kartierabschnitt_save_error.html, fgskmf/templates/missing_kartierabschnitt.html: Added hints to the tab 'Kartenansicht' within in the errorpages 2010-09-03 Tim Englich ISSUE209 * docs/user_doku.rst: Added File for the user documentation. Also put the initial structure for this document into it. * docs/index.rst: Added file user_doku.rst into the main document so that the content will be linked to the gereated output. 2010-09-03 Ingo Weinzierl * fgskmf/public/app/js/fgskmf_layout.js, fgskmf/public/index.html, fgskmf/templates/missing_params.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/kartierabschnitt_save_error.html, fgskmf/templates/missing_kartierabschnitt.html: Replaced german umlauts with its html notation. 2010-09-03 Stephan Holl ISSUE217: * contrib/mapserver/fgsk-wms.map: added relevant metadata to the mapfile-parameters. 2010-09-03 Ingo Weinzierl ISSUE174 * fgskmf/controllers/form.py: Verify the existence of a parameter 'kid' in the session before entering a section (attention: the __before__ method is overwritten in kartierabschnitt.py). If no 'kid' is found in the session, the request is redirected to an error page => without 'kid' no 'Kartierabschnitt' - which makes it impossible to work with the application. 2010-09-03 Ingo Weinzierl * fgskmf/public/app/js/fgskmf_layout.js: Removed the GetFeatureInfo control introduced in rev320. 2010-09-03 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: When entering 'kartierabschnitt' section and initializing the session, we try to find a start and an end point of an existing section that is closed to the points the user has selected. If we found some points, these ones are used as start/end points. 2010-09-02 Ingo Weinzierl ISSUE218 * fgskmf/public/app/js/fgskmf_layout.js: Added a WMS layer displaying the results of the 'Kartierabschnitt' and a GetFeatureInfo-control. The control is currently not working. 2010-09-02 Alex Schäfer ISSUE 217 * contrib/mapserver/fgsk-wms.map: Added wms mapfile information to the metadata of the mapfile. * contrib/mapserver/layer.include: Added wms tags to the wms metadata of layers. 2010-09-02 Ingo Weinzierl ISSUE174 * fgskmf/controllers/kartierabschnitt.py: Cut of all decimal places of the start and endpoint for the 'kartierabschnitt' section (precision is still 1m). This way, we are able to add a new section to the end or in front of an existing section. 2010-09-01 Stephan Holl Issue208 * docs/index.txt: deleted. * docs/conf.py, docs/install.rst: added more concrete informations, last QS. Still open: Description of the startup-init-script * HowTo-Release.txt: updated reflecting the release-tarball mentioned in the admin-docs * contrib/os/run.sh: quicly reworked the start-script (which is not the final solution starting the paster though) * contrib/mapserver/bin/readme.txt: added a hint to download the needed mapserver-package 2010-09-01 Ingo Weinzierl ISSUE216 * fgskmf/public/app/js/fgskmf_bogen.js: Implemented an object called ConfirmDialog. It takes an URL and has two methods: confirm() displays an ExtJS confirm dialog; evaluate() evaluates the user's choice - if the user pressed 'yes' the location specified by URL is loaded, otherwise nothing will happen. * fgskmf/templates/base.html: Show up a confirm dialog if the application is in edit mode and the user tries to jump to another section. * fgskmf/public/styles/base.css: Changed the cursor of the navigation bar to 'pointer'. 2010-09-01 Ingo Weinzierl ISSUE153 * fgskmf/controllers/form.py: Made the software version (configured in docs/conf.py) available in the context variable / available in the templates. * fgskmf/templates/base.html: Display the software version in the footer. 2010-09-01 Ingo Weinzierl * fgskmf/lib/helpers.py: Added a function to fetch all possible options of a parameter. This function already exists, but the difference between the new one and the old (still existing) one is, that the description for the field consists of the short description and the long descriptions. * fgskmf/controllers/laufentwicklung.py: Call the new function described above to fetch possible values / descriptions for the parameter 'laufstrukturen' and 'laengsbaenke'. 2010-08-31 Ingo Weinzierl * fgskmf/templates/gewaesserumfeld.html: Render radio-buttons for parameters 'Flaechennutzung' and 'Gewaesserrandstreifen' instead of select boxes. * fgskmf/public/styles/base.css: Some style adaptations (mostly changes of width). 2010-08-31 Ingo Weinzierl * fgskmf/lib/validators.py: Validator for section 'Uferstruktur' forbids selecting a 'Uferverbau' without selecting a state. 2010-08-31 Ingo Weinzierl * fgskmf/lib/validators.py: Added a validator in section 'Querprofil' that ensures 'Einschnitttiefe' <= 'Wassertiefe'. 2010-08-31 Ingo Weinzierl * fgskmf/controllers/form.py: Added the water type number to the water types (this field is only visible in section 'kartierabschnitt'). 2010-08-31 Ingo Weinzierl * fgskmf/templates/base.html: Bugfix: replaced the div containing the svn revision number and the imprimt url - it was not visible in edit mode. 2010-08-31 Alex Schäfer ISSUE 161 * contrib/mapserver/fonts/fonts.txt: Added Truetypefont to fontlist. * contrib/mapserver/layer.include: Added Label "Gewaesserwerte" for Layer "Gewaesserabschnitt" Add "ows hidden layer" to hide label values in the getcapability list. Changed max. scale to 1:900000 Added Layer "Gewaesserabschnitt_weit" Added all "Geweasserabschnitt" Layer to group "Gewaesserabschnitt" Added REQUIRES tag for Gewaesserabschnitt_weit 2010-08-31 Tim Englich ISSUE208 * contrib/mapserver/bin/readme.txt: Added folder and readme.txt with remarks to put the mapserv-gp-package to this folder for rollout. 2010-08-31 Tim Englich ISSUE153 * docs/conf.py: Added link to imprint of lung-mv. * fgskmf/public/styles/base.css: Added CSS for links which squares with the corporyte design of lung-mv. 2010-08-31 Ingo Weinzierl ISSUE212 * fgskmf/controllers/kartierabschnitt.py, fgskmf/controllers/form.py: Changed the place for the initialization of 'wasserkoerper' parameters. Now, they are intialized just before rendering the template. 2010-08-31 Tim Englich ISSUE208 * docs/install.rst: Some Bugfixes done according to msg2106. Fixed some spell mistakes. 2010-08-31 Ingo Weinzierl ISSUE153 * docs/conf.py: Added attributes for svn revision and impressum. These attributes can be accessed by importing the conf module (e.g. 'from conf import svn_rev' to import the svn revision number). * docs/__init__.py: This file marks the docs folder as a python package. Without this marker it is not possible to import modules that are placed here. * setup.py: Import attributes defined in docs/conf.py - this makes it unnecessary to define the same things twice. * fgskmf/controllers/form.py: Write the svn_rev number and the url of the impressum to the context to be available in the templates. * fgskmf/templates/base.html: Display svn revision number and url to the impressum. * fgskmf/public/styles/base.css: A style class for the div that contains the svn revision number and the url to the impressum. <2010-08-31 Tim Englich * contrib/mapserver/fgsk-wms.map: Removed onlineressource so that the mapserver will determine it using the serverinformation. Now no configurationwork has to be done. * contrib/apache/fgsk.conf: Checking file wich was forgot during the last checkin. <2010-08-31 Tim Englich ISSUE208 * docs/install.rst: Added Configurationsteps which are detected during a testinstallation. * contrib/apache/fgsk.conf: Added Support for cgi-bin folder. Set Proxy only to location /fgsk to enable support for cgi-bin folder. * contrib/htdocs/index.html: Added index-file and htdocs-directory to prevent warnings of the Apache Webserver during starup. 2010-08-30 Ingo Weinzierl ISSUE212 * contrib/db/drop_schema.sql, contrib/db/utils.sql, contrib/db/lookup_data.sql, contrib/db/dbschema.sql, fgskmf/lib/validators.py: Removed all code pieces that were in context with 'wk_typ' and 'wasserkoerper' columns from table 'kartierabschnitt'. These columns are stored in table 'mv_wk' referenced via column 'gewaesser_kennzahl'. So there is no need to store these values at a 'Kartierabschnitt'. * fgskmf/model/__init__.py: Added a mapper and a class 'MV_Wasserkoerper' for tabe 'mv_wk'. * fgskmf/controllers/form.py, fgskmf/controllers/kartierabschnitt.py: Write 'wk_typ' and 'wasserkoerper' values to context variable. These values are read-only now. The determination of the 'wk_typ' and 'wasserkoerper' take place in form.py. * fgskmf/templates/form.html, fgskmf/templates/kartierabschnitt.html: Display 'wasserkoerper' and 'wk_typ' (read-only). 2010-08-30 Tim Englich ISSUE208 * docs/install.rst: Fixed some bugs and added some sections according to changes which are detected during a testinstallation. 2010-08-30 Tim Englich ISSUE208 * docs/install.rst: Changed encoding from iso-8859-15 to utf-8. Removed some spellmistakes. 2010-08-30 Tim Englich ISSUE208 * docs/install.rst: Added howto install missing libraries for succsessfull installing the egg. Also added the description what has to be changed in the generated development.ini-file to run the fgsk-application. 2010-08-30 Ingo Weinzierl * contrib/db/routen_utils.sql: Function 'gewaesser_kennung_by_station' got a new parameter 'max_dist' that limits the determination of a water to a given max distance. * fgskmf/controllers/kartierabschnitt.py: Added a max distance of 125meters for the determinaton of a water. 2010-08-30 Ingo Weinzierl * layers.ini: Added a layer named 'kartierabschnitte'. * fgskmf/model/kartierabschnitte.py: A model class for a 'Kartierabschnitt'. * fgskmf/controllers/kartierabschnitte.py: Controller for requesting features of layer 'kartierabschnitte' (has been added automatically). * fgskmf/tests/functional/test_kartierabschnitte.py: A test class for tje 'kartierabschnitte' controller. No test implemented yet. * fgskmf/config/routing.py: Added a route to 'kartierabschnitte' controller. * fgskmf/public/app/js/fgskmf_layout.js: Added the layer 'kartierabschnitte' to the map. The style of the geometries is different to the 'routen' style (strokecolor = black, strokewidth = 4). Furthermore, the snapping is extended to the 'kartierabschnitte' layer - this makes it easier for the user to add a new 'Kartierabschnitt' to an existing one. 2010-08-30 Stephan Holl * docs/conf.py: added new style for HTML-docs, some wording changed. 2010-08-30 Stephan Holl * setup.py: added Sphinx dependency for building the docs, bumped the release-number to 0.5, added license-text 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Added Installation of the initscript to the installation-documentation 2010-08-27 Tim Englich ISSUE206 * contrib/os/fgsk-server-init-script, contrib/os/run.sh: Added scripts for running the fgsk as a service. 2010-08-30 Ingo Weinzierl ISSUE211 * fgskmf/public/app/js/fgskmf_init.js: Added functions to add markers to a layer and to remove all markers of a layer. * fgskmf/public/app/js/fgskmf_layout.js: Changed the style that is used to draw vectors of the layer 'routen' and added some code that adds markers to start and endpoint of the 'Kartierabschnitt' range. * fgskmf/public/img/flag_blue.png: Icon used to mark start and enpoint of the 'Kartierabschnitt' range in the map client. 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Reviewed section for the installation and configuration of the egg. This section is not completed. 2010-08-27 Ingo Weinzierl ISSUE148 * fgskmf/controllers/form.py: Transform the UnicodeMultiDict that is returned by pylons after a form has been committed into a flat dictionary. This is necessary because it seems that webhelpers isn't able to work with UnicodeMultiDicts properly. 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Added chapter explaining exclusions of this documentation regarding the operationsystem. 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Added chapter for the precondition of the installationprocess and the chapter where the main installation-steps are explained. 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Added chapter for installing the databasescheme. 2010-08-27 Ingo Weinzierl ISSUE148 * fgskmf/lib/validators.py: Added special cases to the water subtype validation: water types 14 and 15 needs one of 'Sandergewässer' and 'Randvermoorung' - but not both at the same time. 2010-08-27 Tim Englich ISSUE208 * docs/install.rst: Added the section how to install, configure and test the umn-mapserver 2010-08-27 Tim Englich * contrib/mapserver/dbconnection.include, contrib/mapserver/layer.include: Extracted the db-connection into a separate iclude-file to make the configuration easier. 2010-08-27 Ingo Weinzierl * contrib/db/utils.sql: Bugfix: The determination of a new 'gewaesser_abschnitt' code will now take care on the water as well - only the sections of the same water will be updated after a new section has been inserted. 2010-08-27 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Update the 'gewaesser_abschnitt' parameter that is used in the 'kartierabschnitt' template after persisting a 'Kartierabschnitt' to database ('- wird berechnet -' becomes the real value that is stored in the database. 2010-08-27 Ingo Weinzierl * contrib/db/utils.sql: Bugfix: The function to validate 'kartierabschnitt' ranges specified by start and end point will now take care on the column 'gewaesser_kennzahl' as well! * fgskmf/lib/validators.py, fgskmf/lib/helpers.py: Adapted function calls to validate 'kartierabschnitt' ranges: the parameter 'gewaesser_kennzahl' is necessary now (see changes in the database function described above). 2010-08-26 Ingo Weinzierl * fgskmf/public/styles/base.css, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/form.html, fgskmf/templates/base.html: Changed the size of some html elements - improved the layout. 2010-08-26 Alex Schäfer ISSUE161 * contrib/mapserver/gueteklassen.include: Changed the expression for layers. * contrib/mapserver/layer.include: Changed the connection database for punktzahl_gesamt layer. 2010-08-26 Ingo Weinzierl ISSUE178 * contrib/db/utils.sql: Splitted the database function to validate the current water section into two functions. The first one take a whole 'kartierabschnitt' row, the second one takes the columns 'stationierung_von' and 'stationierung_bis' as NUMERIC values only. The second one will return an error text if there are conflicting water sections (this function is called from python code as well). * fgskmf/lib/helpers.py: Added a helper function to call the second validation function described above. The result is returned as string. * fgskmf/lib/validators.py: Added a validator for the range of a 'Kartierabschnitt' section. The helper function that is described above is called to validate if the current specified range is valid - based on the existing water sections in the database. 2010-08-26 Ingo Weinzierl ISSUE174 * fgskmf/public/app/js/fgskmf_layout.js: Replaced the strategy that is used for fetching features of postgis table 'mv_routen_neu' (Fixed -> BBOX) and added a minScale parameter to that layer. This has the effect that the process of loading features is triggered only if a minimum scale has been reached. 2010-08-25 Ingo Weinzierl * fgskmf/public/app/js/fgskmf_init.js: Added a function that searches for a feature in a given layer that has a vertex that is the same as a given geometry - this function is moved here from fgskmf_layout.js. * fgskmf/public/app/js/fgskmf_layout.js: Replaced the alert() that appears after the user has chosen two different waters with an ExtJS dialog. 2010-08-25 Ingo Weinzierl ISSUE174 * contrib/db/routen_utils.sql: Implemented the database procedure that determines a the water code depending on a given start and endpoint. * fgskmf/controllers/kartierabschnitt.py: Adapted a wrong return values. * fgskmf/public/app/js/fgskmf_layout.js: Transform the bbox that is used for the determination of the water code based on start and end point to EPSG:35833. 2010-08-25 Ingo Weinzierl ISSUE174 * fgskmf/controllers/kartierabschnitt.py: Changed the entrance of the 'Kartierabschnitt' section. Before these changes, we created a new row in the 'kartierabschnitt' table that contained just an ID, the water section code and the start/end points. Now, the behavior has changed - no 'empty' rows are inserted into this table any longer. The INSERT is executed after the user left the edit mode by pressing the 'save' button. This allows the user to modify his start/end points that he has chosen via the map client - otherwise there would have been created a 'Kartierabschnitt' with the stationing from map client and modifications of the start/end point afterwards in the 'Kartierabschnitt' section might cause conflicts with this empty section. * fgskmf/controllers/error.py: Added a new action for a redirect if an error occured while initialising a 'Kartierabschnitt'. * fgskmf/templates/missing_params.html: This template is used to render an error page if the initialization of a 'Kartierabschnitt' failed. * fgskmf/templates/kartierabschnitt.html: Added hidden fields for storing water name, code and section. 2010-08-25 Stephan Holl * fgskmf/templates/laufentwicklung.html, fgskmf/templates/querprofil.html: Replaced links with helper-function h.url_for() to reflect possible URL-prefixes. 2010-08-24 Tim Englich * docs/install.rst: Added the structure and the explanations of first steps of the installation. 2010-08-24 Tim Englich * contrib/db/create_views.sql: Changed Columnnames to 8 Chars limit to make the shapfile happier. Integrated some metainformation-colums into the View. 2010-08-24 Ingo Weinzierl ISSUE148 * fgskmf/public/app/js/fgskmf_bogen.js: Activate water subtypes when the user enters the edit mode and a water type is selected. 2010-08-24 Ingo Weinzierl * contrib/db/routen_utils.sql: Enforce geometries for the 'kartierabschnitt' table as 2D when creating new geometries by the given start and end point. * contrib/db/dbschema.sql: Adapted the geometry type of 'the_geom' in 'kartierabschnitt' (3D -> 2D). 2010-08-24 Ingo Weinzierl * contrib/db/routen_utils.sql: Added a function and a trigger to create a geometry for a 'Kartierabschnitt' depending on its start and end point after an UPDATE or INSERT. * contrib/db/dbschema.sql: Changed the geometry type to 'LINESTRINGM'. 2010-08-24 Tim Englich Added View for joining all values which are required for the rating. * contrib/db/drop_initial_schema.sql: Added call of the script drop_views.sql * contrib/db/create_initial_db.sql: Added call of the script create_views.sql * contrib/db/drop_views.sql: Added SQl-File for dropping all views which are defined. * contrib/db/create_views.sql: Added SQL-file for defining views. The only view which is currently defined for the schema fgsk is the view v_bewertung_gesamt for joining the ratingvalues of each section. 2010-08-24 Stephan Holl Updated inital Documentation-framework * docs/index.txt: Deleted. Not used anymore * docs/_static, docs/conf.py, docs/install.rst, docs/Makefile, docs/_templates, docs/index.rst: New. Added corpus of a sphinx-based documentation 2010-08-24 Stephan Holl Updated MapServer-folder * contrib/mapserver/layer.include, contrib/mapserver/symbols/symbols.sym, contrib/mapserver/fgsk-wms.map: Updated to reflect gesamt, sohle, ufer and land with a recent offset-curve threshold * contrib/mapserver/gueteklassen.include: New. holds the current gueklassen-classification TODO: consolidate other classifications, add WMS-metadata. 2010-08-24 Ingo Weinzierl * contrib/db/dbschema.sql: Added a 2D geometry column ('the_geom') from type 'LINESTRING to the kartierabschnitt table. 2010-08-24 Ingo Weinzierl ISSUE186 * fgskmf/public/app/js/fgskmf_layout.js: Replaced scale 1:12500 with 1:10000 2010-08-24 Ingo Weinzierl ISSUE193 * contrib/db/utils.sql: Removed two bugs: - Order the sections previous to the new one 'by DESC' to have the section direct in front of the new one at the first position. This avoids an INSERT at the wrong place. - Cast the major part of an old water section code to string before using postgres function lpad with this code as parameter (lpad just takes strings, no integer values). 2010-08-23 Ingo Weinzierl * contrib/db/routen_utils.sql: Added stub for database function 'gewaesser_kennung_by_station()' that will retrieve the water code depending on the given stationing. TODO: Needs to be implemented. * fgskmf/controllers/kartierabschnitt.py: Added method that calls database function gewaesser_kennung_by_station(). This method is just called if no 'gewaesser_kennung' was found in the request params. * fgskmf/public/app/js/fgskmf_layout.js: Handle the case that no water was found while setting start and end point in the map. In this case, we call index() of the 'Kartierabschnitt' controller with a bounding box and the start and end point. 2010-08-23 Ingo Weinzierl ISSUE174 * contrib/db/routen_utils.sql: Revised the database function that returns a station depending on a given geometry and water code. 2010-08-23 Ingo Weinzierl ISSUE198 * contrib/db/utils.sql: Revised the station validation that is executed before a water section code for a new 'Kartierabschnitt' is determined. 2010-08-23 Tim Englich ISSUE197 * fgskmf/controllers/kartierabschnitt.py: Added exceptionhandling for the case that an "kartierabschnitt cannot be saved. In that case the typecasted exception page will be shown. * fgskmf/controllers/error.py: Added Controller for handling the exception that an "kartierabschnitt cannot be created. * fgskmf/templates/kartierabschnitt_save_error.html: Added exception.page for the case that it is not possible to create an "kartierabschnitt" with the given parameters. 2010-08-23 Tim Englich ISSUE155 * fgskmf/public/styles/base.css, fgskmf/templates/missing_kartierabschnitt.html: Improved styling of the exception-page if the session was timed out or no cookies are activated. 2010-08-23 Tim Englich ISSUE199 * contrib/db/auswertung_kartierabschnitt.sql: Changed the Implementation so that the rating will also be recalculated if the attributes "stationierung_von" and "stationierung_bis" has been changed. 2010-08-23 Tim Englich ISSUE196 * fgskmf/lib/validators.py: Changed Id for "kein Uferverbau" from 1 to 8 according to changes of the numbering of the entries of table "uferverbau". 2010-08-23 Ingo Weinzierl * contrib/db/routen_utils.sql: Splitted the sql-statement in stationierung_func() to retrieve the stationing depending on a given WKT point to be able to print some more debug output. * fgskmf/controllers/kartierabschnitt.py: Removed a confusing debug message. 2010-08-23 Tim Englich ISSUE195 * fgskmf/public/styles/base.css: Changed Styles for inputelements like select-,textfields and textareas that their backgroundcolor is white if the can be modified using the editmode. 2010-08-23 Ingo Weinzierl ISSUE174 * fgskmf/public/app/js/fgskmf_layout.js: The OpenLayers snapping control does not snap to vertices any longer. 2010-08-23 Ingo Weinzierl * fgskmf/templates/kartierabschnitt.html: Removed useless descriptions for water subtypes. 2010-08-23 Ingo Weinzierl * contrib/db/routen_utils.sql: Added a postfix to a function ( 'stationierung' -> 'stationierung_func') and created a statement that inserts all distinct 'gewaesser_kennzahl' into 'gewaesser' table. * fgskmf/controllers/kartierabschnitt.py: Adapted the call of 'stationierung' to 'stationierung_func'. 2010-08-23 Ingo Weinzierl * fgskmf/lib/helpers.py: Removed a debug statement that caused too much output. 2010-08-23 Tim Englich ISSUE170 * contrib/db/auswertung_gesamt.sql: Added some additional checks which should prevent div by zero exceptions. 2010-08-23 Tim Englich ISSUE170: Integrated changes that were necessary to get an rating which is conform to the sample ratings. * contrib/db/auswertung_sohlenstruktur.sql: Changed the SQL-Statement to determine the count of "natürliche Substrate". Only the entries where used which has got an percentage that is greater than 0. * contrib/db/auswertung_querprofil.sql: The definition of the Classes of the "Sohltiefe / obere Profilbreite" has changed so that it is necessary to round the result to find the correct rating. It was also necessary to change the definition of between to "<= >=" to find the correct rating. * contrib/db/lookup_data.sql, contrib/db/auswertungs_daten.sql: Added Changes according to the changes of the "Bewertungsschema" which was published by biota on the 17th of August 2010. * contrib/db/testdaten_diff.sql: Changed Ids for "uferverbau" in "uferstruktur" according to changes in the numbering of the entries of "uferverbau". 2010-08-23 Stephan Holl * fgskmf/controllers/kartierabschnitt.py: reverted r237. 2010-08-23 Ingo Weinzierl * contrib/db/routen_utils.sql: Added missing utilities that are necessary for the GUI entrance - this sql file creates a view with 2D geometries and function to determine the stationing depending on a given wkt point. 2010-08-20 Stephan Holl * HowTo-Release.txt: New. added some guidelines how to cut a release for this piece of software. 2010-08-20 Ingo Weinzierl ISSUE148 (2nd part - finished) * fgskmf/lib/helpers.py: Forced loading distinct water subtypes. * fgskmf/public/app/js/fgskmf_bogen.js: JavaScript function that is triggered after application has finished loading. Each water type field gets an 'onclick' listener that deactivates water subtypes that are not valid for the selected water type. Valid subtypes are activated. * fgskmf/templates/kartierabschnitt.html: Add water subtypes manually instead of using methods of form.html template. * fgskmf/templates/form.html: Adapted some functions to insert multi and single select fields (radio, checkboxes). * fgskmf/templates/base.html: Included the javascript file 'fgskmf_bogen.js' and the ExtJS library. 2010-08-20 Ingo Weinzierl ISSUE148 (1st part) * fgskmf/lib/helpers.py: Just use distinct water subtypes as water subtypes options (that are shown in the ui). 2010-08-20 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Bugfix: The water section code is displayed after the user edited the 'Kartierabschnitt'. The water section code has not been added to c.form_defaults. 2010-08-20 Ingo Weinzierl ISSUE194 * fgskmf/controllers/kartierabschnitt.py: Images are never deleted here. 2010-08-20 Ingo Weinzierl ISSUE174 * fgskmf/controllers/kartierabschnitt.py: We are now able to enter a 'Kartierabschnitt' with two geometries. There is a new method that determines the stationing depending on these geometries and the water code. * fgskmf/public/app/js/fgskmf_layout.js: After setting two points on the map - these points need to be placed on the same water - the 'FGSK' tab is opened and we are located in the a 'Kartierabschnitt' with a stationing that depends on the points that have been set on the map. The points' geometries are transformed to EPSG:35833 Before forwarding to the 'Kartierabschnitt'. * fgskmf/public/app/js/fgskmf_init.js: Added a variable to store the water code of the selected point. It is used to validate the second point - if this point's water code doesn't match this variable, the user has selected two different waters which is not valid. A warning dialog will pop up. 2010-08-19 Ingo Weinzierl ISSUE174 * fgskmf/public/app/js/fgskmf_layout.js: Added a snapping control. This is used during stationing to snap to the nearest point that is contained in the vector layer 'Routen'. 2010-08-19 Ingo Weinzierl * fgskmf/public/styles/base.css, fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/form.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html, fgskmf/templates/base.html: GUI advancements for the InternetExplorer. 2010-08-18 Ingo Weinzierl ISSUE185 * fgskmf/public/styles/base.css: Stabalized the layout for usage in the IE7. 2010-08-18 Ingo Weinzierl ISSUE185 * fgskmf/public/styles/base.css: Defined some min-width attributes for the heder, content and the 'Stammdaten' row. * fgskmf/templates/form.html: The 'Stammdaten' row between navigation bar and the section content is a table now. It seems more appropriate for a stable layout. 2010-08-18 Ingo Weinzierl ISSUE136 * fgskmf/controllers/sohlenstruktur.py, fgskmf/controllers/laufentwicklung.py, fgskmf/controllers/gewaesserumfeld.py, fgskmf/controllers/uferstruktur.py: Added missing error messages to the error dicts in each controller. 2010-08-18 Ingo Weinzierl * contrib/db/utils.sql: Bugfix: take only the first three digits of the previous water section code into account while inserting a new major section in the middle or at the end of the water - otherwise we would not be able to add 1 to the previous water section code. 2010-08-18 Ingo Weinzierl ISSUE193 * contrib/db/utils.sql: Fixed a typo - while duplicating a Kartierabschnitt' with all its subsections some values have been written into a wrong table. The result was a database error (IntegrityError); the reason a violating unique constraint. 2010-08-18 Ingo Weinzierl ISSUE179 * fgskmf/model/__init__.py: Removed date formatting function - moved to helpers. * fgskmf/lib/helpers.py: Added date formatting function from __init__ and added a function for formatting dates before 1900 - strftime (the python method to format dates to strings) can't handle date before 1900. * fgskmf/controllers/kartierabschnitt.py: Use the date formatting function from helpers.py instead of the class method of a 'Kartierabschnitt' object which is removed. * fgskmf/lib/validators.py: Adapted the date validation - use the date formatting function of helpers.py to validate, if the user inserted date is valid. The date is invalid if this function raises an exception. 2010-08-18 Ingo Weinzierl ISSUE168 * fgskmf/lib/validators.py: Changed the validator for 'Laengsbaenke' and 'Laufstrukturen' - it is now possible to register beginnings of 'Laengsbaenke' and 'Laufstrukturen' and complete 'Laengsbaenke or 'Laufstrukturen'. So it's possible to enter a 4,5 for example. 2010-08-18 Ingo Weinzierl ISSUE192 * fgskmf/templates/kartierabschnitt.html: The html field 'Gewaesserabschnitt' is read-only, now. 2010-08-18 Ingo Weinzierl ISSUE174 * layers.ini, fgskmf/model/routen.py, fgskmf/config/routing.py, fgskmf/controllers/routen.py: Added a new layer mv_routen_2d that contains routes as 2D geometry. * fgskmf/public/app/js/fgskmf_init.js: Added variables for stationings start and endpoint. * fgskmf/public/app/js/fgskmf_layout.js: Added an action to set a start and an end point for the stationing, added two further vector layers - one for the stationing and one for the routes. * fgskmf/public/index.html: Import necessary JavaScript files and spend an ID to the FGSK-IFrame which is required to access it after finishing the stationing. * fgskmf/public/app/js/proj4js-compressed.js, fgskmf/public/app/js/EPSG35833.js, fgskmf/public/app/js/EPSG25833.js: Necessary epsg codes and proj4j for reprojecting EPSG35833 geometries to EPSG25833. 2010-08-17 Tim Englich ISSUE170 * contrib/db/auswertung_querprofil.sql: Modified the calculation of the gradient of the banks, because of changes in the specification of the calculation. Now the right Values will be taken from the Database. * contrib/db/auswertung_gesamt.sql: Modifies the output so that it is possible to compare the data that was delivered by biota in a better way. * contrib/db/testdaten_diff.sql: Corrected wrong value of an entry for measurements. Now the values are conform to the values of the Testdocuments which were created by biota. 2010-08-16 Tim Englich ISSUE170 msg1850 * contrib/db/auswertung_sohlenstruktur.sql, contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_uferstruktur.sql: Removed the incementation of the number of criterias if an malus-value is given. 2010-08-16 Tim Englich ISSUE164 * contrib/db/auswertung_gewaessersubtyp.sql: Added Trigger for recalculating the rating if the gewaessersubtyp has been changed. In this case only the section sohlenstruktur has to be recalculated because only in this section the gewaessersubtyp will be used to calculate the rating. * contrib/db/create_initial_auswertung.sql: Added call of the script auswertung_gewaessersubtyp.sql. * contrib/db/auswertung_kartierabschnitt.sql: Added file which was missing in the last commit. 2010-08-16 Tim Englich ISSUE164 * contrib/db/auswertung_kartierabschnitt.sql: Added Trigger for calculating the rating if the gewaessertyp has been changed. in this case it is necessary to recalculate each of the six sections of a kartierabschnitt if one entry exists for the section. * contrib/db/create_initial_auswertung.sql: Added call of the script auswertung_kartierabschnitt.sql. * contrib/db/auswertung_gesamt.sql: Changed the Format of the Debug output so that it is possible to grep for the results in a better way. * contrib/db/auswertung_laufentwicklung.sql, contrib/db/auswertung_querprofil.sql, contrib/db/auswertung_sohlenstruktur.sql, contrib/db/auswertung_uferstruktur.sql, contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_laengsprofil.sql: Put the calculation of the rating in separate methods so that it is possible to call them also from an other trigger. Also added a test if a dataset of the section already exists for the given id. This is required for calling the finctions from a trigger which does not listen to the table of the section. 2010-08-16 Ingo Weinzierl * contrib/db/utils.sql: Bugfix: Fixed the sql statement to validate, if the current stationing intersects with an already existing stationing in the database. 2010-08-13 Ingo Weinzierl Issue173 * contrib/db/utils.sql: Added triggers and procedures to determine the water section code depending on the current stationing. There are three different scenarios: - The current section is located at the beginning of the water. In this case, the water section code will be '001'; all sections behind the current one will be updated - which means that the first three-digit number is incremented. - The current section is located at the end of the water. In this case, the water section code depends on the section that is located previous to the current one. Its code consists of the first three digits of the privous section code incremented with 1. - The current section is located in another section, with the same lower or upper border. In this case, the stationing of the outer section is decreased - with the result, that there are two sections instead of a single one filling the whole stationing with no gap. The current section inherits all parameters that the outer section has. The water section code depends on the outer section's first three digits and the existance of other child sections (= a section that is parted into many smaller sections). 2010-08-13 Ingo Weinzierl * fgskmf/model/__init__.py: Removed evaluation specific code. This allows us to use the application without evalution. Before, we had a dependency to evaluation database tables. 2010-08-13 Tim Englich ISSUE170 * contrib/db/testdaten_diff.sql, contrib/db/lookup_data.sql: Switched numbering of values for 'flaechennutzung' according to the 'Bewertungsschema' 2010-08-13 Tim Englich ISSUE170 * contrib/db/auswertungs_daten.sql: Fixed wrong rating for GK1 on 'Anzahl Querbaenke'. 2010-08-13 Tim Englich ISSUE170 * contrib/db/auswertung_laufentwicklung.sql: Fixed c&p-mistake. Now the correct variable will be used to set the absolute number of laufstrukturen if sum of laufstruturen is 0.5 2010-08-13 Tim Englich ISSUE170 * contrib/db/auswertungs_daten.sql: Fixed wrong rating for GK4 on 'laufstrukturen'. 2010-08-12 Ingo Weinzierl Issue136 * fgskmf/controllers/querprofil.py, fgskmf/controllers/sohlenstruktur.py, fgskmf/controllers/laufentwicklung.py, fgskmf/controllers/gewaesserumfeld.py, fgskmf/controllers/laengsprofil.py, fgskmf/controllers/uferstruktur.py: Added an error dictionary for each controller (see last commit message for more details). 2010-08-11 Ingo Weinzierl Issue136 * fgskmf/controllers/kartierabschnitt.py: Added a dictionary that contains the labels for error messages. This dictionary is available - and necessary in the templates. * fgskmf/controllers/form.py: Deactivated auto error formatter of htmlfill. * fgskmf/templates/base.html: New function that is called before rendering the content. It looks for a dictionary called form_errors that might contain error messages for the form fields. Currently, the errors are displayed between the navigation bar and the content of the page. * fgskmf/public/styles/base.css: Added new styles for the table and fieldset that contain error messages. 2010-08-11 Ingo Weinzierl Issue154 * contrib/db/dbschema.sql: Column 'unterhaltungerkennbar' of table 'Kartierabschnitt' is no longer false per default. * fgskmf/controllers/kartierabschnitt.py, fgskmf/controllers/uferstruktur.py: Empty boolean fields will won't be interpreted as False any longer. 2010-08-11 Ingo Weinzierl * contrib/db/auswertung_laufentwicklung.sql: Bugfix: compute the number of 'Laufstrukturen' for a given segment length - don't use the absolute number of 'Laufstrukturen' that exist in the complete 'Kartierabschnitt'. * contrib/db/auswertung_querprofil.sql: Limit the statement for computing 'Profiltiefe' to the current 'Kartierabschnitt' - before, the values of other 'Kartierabschnitte' has been summarized as well. 2010-08-11 Ingo Weinzierl * contrib/db/lookup_data.sql: Fixed a type in the lookup data. 2010-08-11 Ingo Weinzierl * contrib/db/auswertung_laufentwicklung.sql, contrib/db/auswertung_laengsprofil.sql: Added further conditions for the update mechanism - we do not enter the update process if the insert statemtent created an empty dataset which is the case while entering the html page for each section. 2010-08-11 Ingo Weinzierl Issue167 * contrib/db/auswertung_sohlenstruktur.sql, contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_uferstruktur.sql: Added missing triggers for m:n tables. 2010-08-11 Ingo Weinzierl * contrib/db/auswertung_laufentwicklung.sql: Added some further conditions for the case that a new empty 'Laufentwicklung' has been created - no update is necessary in that case. 2010-08-11 Ingo Weinzierl * fgskmf/model/__init__.py: Added an ID column for table 'bild' to avoid integrity errors. 2010-08-10 Ingo Weinzierl Issue171, Issue155 * fgskmf/model/__init__.py: Added a new property 'gewaesser' to a 'Kartierabschnitt'. It contains the water referenced by 'gewaesser_kennzahl'. * fgskmf/controllers/laufentwicklung.py: Removed the 'Kartierabschnitt' object from session - its ID is already stored there, so it is not necessary to have the whole object at that place. * fgskmf/controllers/form.py: Check the existance of the ID of a 'Kartierabschnitt' before doing something else. If no ID is stored in the session object, we will render an error page - otherwise, we add the 'Kartierabschnitt' object referenced by the ID to the context to make it available in the templates. * fgskmf/templates/form.html: Display the 'Stammdaten' of a 'Kartierabschnitt' at the top of the section; changed the div-classes while doing this to become more flexible in styling these containers. * fgskmf/public/styles/base.css: Added styles for 'Stammdaten' - mainly width adjustments. * fgskmf/controllers/eingang.py: This controller is no longer a child of FormController, because we do not need the whole stuff of it. Especially __before__ has a bad side effect - we would never be able to enter the entrance page without a given 'Kartierabschnitt' ID. * fgskmf/controllers/error.py: Implemented a new action that renders an error page for the case that no 'Kartierabschnitt' ID is existing. We need to call this action of another controller - implementing this action in FormController would lead us into an endless loop of redirects. * fgskmf/controllers/kartierabschnitt.py: Redirect to ErrorController if no 'Kartierabschnitt' ID is existing. 2010-08-10 Ingo Weinzierl Issue160 * fgskmf/lib/validators.py: Added a validator for 'Verbau' and its 'Zustand'. This validator prevents to select a 'Zustand' if no 'Verbau' has been chosen. 2010-08-09 Stephan Holl * contrib/db/create_initial_auswertung.sql: added auswertung_gesamt.sql for global ratings, since they are called now in each section 2010-08-09 Stephan Holl * contrib/db/auswertung_gewaesserumfeld.sql contrib/db/auswertung_laengsprofil.sql contrib/db/auswertung_laufentwicklung.sql contrib/db/auswertung_querprofil.sql contrib/db/auswertung_sohlenstruktur.sql: Added call to function for overal-rating 'update_points_kartierabschnitt_func()'. This function adds the overall-rating as soon as all needed parameters are added or if one parameter has changed. 2010-08-09 Stephan Holl * contrib/db/auswertung_gesamt.sql: fixed typo 2010-08-09 Stephan Holl * auswertung_gesamt.sql auswertung_gewaesserumfeld.sql auswertung_laengsprofil.sql auswertung_laufentwicklung.sql auswertung_querprofil.sql auswertung_sohlenstruktur.sql auswertung_uferstruktur.sql: Replaced NOTICE with DEBUG to have the Logs cleaner. In order to see the debug-statements set 'client_min_messages = debug1' in postgresql.conf (done on fiji.atlas). 2010-08-06 Tim Englich * contrib/db/auswertung_uferstruktur.sql, contrib/db/auswertung_sohlenstruktur.sql, contrib/db/auswertung_laengsprofil.sql: Switched Factor from 1000 to 1 because all Values are given in meter. 2010-08-06 Tim Englich * contrib/db/lookup_data.sql: Fixed wrong ids in table 'breitenvarianz'. * contrib/db/testdaten_diff.sql: Bug in saving the 'querprofil' the id for 'groß' in section 'breitenvarianz' is 4 and not 2. 2010-08-06 Stephan Holl * contrib/mapserver/layer.include: Alex mapfile with the needed classifications added for the Baenderdarstellung. TODO: Adding PostGIS-Function st_offsetcurve in the queries to display th bands 2010-08-05 Stephan Holl * contrib/db/lookup_data.sql: typo fixed, reported by Frau Kasper, Biota 2010-08-05 Stephan Holl * create_initial_db.sql, drop_initial_schema.sql: Reworked Schema-creation and dropping 2010-08-05 Stephan Holl * fgskmf/public/styles/base.css,fgskmf/templates/sohlenstruktur.html fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/form.html fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html fgskmf/templates/querprofil.html: Added a new fieldset on top of all pages which shows 'kartierabschnittsstammdaten'. The fields are there, but the controllers need more logic to fill in the fields as readonly. This partly fixes issue171. TODO: adopt the underlaying controllers in order to have the needed values printed in the text-fields. 2010-08-04 Stephan Holl Removed H1-HTML-tags from headers (fixes issue152) * fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html, fgskmf/templates/base.html: removed

-HTML-tags from header 2010-08-04 Stephan Holl Implemented an FGSK-postgres-schema (fixes issue138) * fgskmf/model/__init__.py: added a search_path to fgsk,public * contrib/db/create_initial_db.sql, contrib/db/create_initial_auswertung.sql: Added CREATE SCHEMA-parameter for the creation of the schema, set search_path before importing. Important: This commits makes the application search all tables in the schema 'fgsk'. you need to run the scripts 'create_initial_db.sql' and 'create_initial_auswertung.sql' again in order to create the schema with the tables! 2010-08-04 Stephan Holl * fgskmf/config/deployment.ini_tmpl: included a commented block with a prefix-filter. This is neccessary when running the paster behind an mod_proxy-apache. 2010-08-03 Stephan Holl * fgskmf/templates/eingang.html, fgskmf/templates/base.html: Added h.url_for() for CSS_links in templates in order to make prefix-usage in Pylons work. This is required when using apaches mod_proxy for proxy and reverse with the paste server. 2010-08-03 Stephan Holl Added MapServer-configuration * contrib/mapserver, contrib/mapserver/epsg_35833.sql, contrib/mapserver/symbols, contrib/mapserver/symbols/symbols.sym, contrib/mapserver/fonts, contrib/mapserver/fonts/fonts.txt, contrib/mapserver/fgsk-wms.map, contrib/mapserver/layer.include, contrib/mapserver/epsg, contrib/mapserver/fgsk-wms: New. Added mapserver-related files. Also added the MV-specific projection-stuff, in which all geometry is stored. 2010-08-03 Stephan Holl * contrib/db/testdaten_diff.sql: New. Newly added Diff for inserting the testdata rapidly into a fresh and empty DB. 2010-08-03 Tim Englich * contrib/db/auswertung_sohlenstruktur.sql: BUGFIX: Initial null-check was missing. 2010-08-03 Tim Englich * contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_uferstruktur.sql: BUGFIX: Initial null-check was missing. 2010-08-03 Tim Englich * contrib/db/dbschema.sql: Added columns punktzahl_gesamt ,punktzahl_sohle, punktzahl_ufer and punktzahl_land to table kartierabschnitt. this columns are required to store the calculated rating. * contrib/db/auswertung_gesamt.sql: Added rating for the complete'kartierabschnitt'. The rating will be calculated and stored to the dataset. It also will be calculated the subparts like land, sohle and ufer. This values will also be stored in the dataset. The calculation will only be done if all subparts are filled. TODO: THIS METHOD HAS TO BE CALLED IN EACH TRIGGERD FUNCTION 2010-08-03 Tim Englich * contrib/db/auswertung_sohlenstruktur.sql: Added the rating for 'substratdiversitaet' to the rating for sohlenstruktur. * contrib/db/dbschema.sql, contrib/db/lookup_data.sql: Added colums natuerlich, hartsubstrat and kuenstlich to table sohlensubstrat to enable the rating for this section which is devided into three subparts. 2010-08-02 Stephan Holl * public/app/js/fgskmf_layout.js: moved viewport to MV and added tabbed env with some MV-related layers. * public/index.html: added div with iframe for the FGSK-Forms 2010-07-30 Tim Englich * contrib/db/auswertung_sohlenstruktur.sql: Added calculatiing if the rating for 'Sohlverbau'. Fixed the calculating of the rating for 'Anzahl besonderer Laufstrukturen' and the rating for 'Belastungen der Sohle' calculated the total ratings and the count of criterias which are used and write them into the Database. TODO: The Calculation of the rationg for 'Substratdiversitaet' is still missing. 2010-07-30 Tim Englich * contrib/db/auswertung_uferstruktur.sql: Removed unused variables. 2010-07-30 Tim Englich * contrib/db/auswertung_querprofil.sql: Completed rating for 'querprofil'. Added Number of Criterias to the calculation and write the value into the Database. Also put fetching of metadata from table querprofil into one sql-statement. 2010-07-30 Tim Englich * contrib/db/auswertung_uferstruktur.sql: Completed rating mechanism for 'uferstrukturen'. Added calculation ofthe rating for subparts 'besondere Uferbelastungen', 'Uferverbau' and 'Uferbewuchs'. Corrected calculation of the rating of 'besondere Uferstrukturen' 2010-07-30 Tim Englich * contrib/db/auswertung_gewaesserumfeld.sql: Switch SQL-Keywords to uppercase. 2010-07-29 Stephan Holl Added a first shot of a deploy-mechanism, briefly described in docs/install.rst * docs/install.rst: New. short description how to build an egg an deploy it in a fresh virtualenv. * FgsK_mf.egg-info/SOURCES.txt, FgsK_mf.egg-info/PKG-INFO , FgsK_mf.egg-info/requires.txt, setup.py: included all currently used dependencies with its direct version number. This closes geospatial/issue157. 2010-07-28 Stephan Holl Included the missing images for Breitenvarianz and Laufkruemmung * fgskmf/public/styles/base.css: Added some formatting styles for the images * fgskmf/public/img, fgskmf/public/img/gestreckt_crop.png, fgskmf/public/img/schwach_geschwungen_crop.png, fgskmf/public/img/BV_maessig_crop.png, fgskmf/public/img/stark_geschwungen_crop.png, fgskmf/public/img/BV_gering_crop.png, fgskmf/public/img/BV_keine_crop.png, fgskmf/public/img/BV_gross_crop.png, fgskmf/public/img/BV_sehr_gross_crop.png, fgskmf/public/img/geradlinig_crop.png, fgskmf/public/img/geschlaengelt_crop.png, fgskmf/public/img/maessig_geschwungen_crop.png, fgskmf/public/img/maeandr_crop.png: New. * fgskmf/templates/laufentwicklung.html: Added Laufkruemmungs-Image * fgskmf/templates/querprofil.html: Added Breitenvarianz-Images 2010-07-28 Stephan Holl * contrib/apache/fgsk.conf: New. Added an example-Configuration for running this app behind an apache-webserver. This virual host configuration is bind to a new port, which needs to be registered in ports.conf (on Debian-Systems), so that apache opens the port (here :82). Also the needed modules mod_proxy and mod_proxy_http need to be loaded with 'a2enmod ' 2010-07-27 Stephan Holl * contrib/db/drop_initial_schema.sql: removed non-existant drop_functions.sql from this file. 2010-07-27 Ingo Weinzierl * fgskmf/templates/uferstruktur.html: Added new fields for 'Zustand Uferverbau'. * fgskmf/model/__init__.py: New mappings for 'UferverbauZustand'. * fgskmf/controllers/uferstruktur.py: Init options, fill in default values and persist user data into database. * fgskmf/lib/validators.py: Validate the new fields. 2010-07-27 Ingo Weinzierl * fgskmf/lib/validators.py: Bugfix: changed the statement in an IF condition to be compatibel to Python-2.4 and permit '100' as valid input in 'Sohlensubstrat' fields. 2010-07-27 Ingo Weinzierl * contrib/db/auswertung_querprofil.sql: Make a better check if an rating update is necessary - just start the update process if all necessary data is given. 2010-07-27 Ingo Weinzierl * fgskmf/lib/helpers.py: Replaced method call of datetime.strptime with a time.strptime combined with a constructor call of datetime to be compabtible with Python-2.4. 2010-07-27 Tim Englich * contrib/db/auswertung_gewaesserumfeld.sql: Added rating for 'schaedlicheumfeldstrukturen' in 'gewaesserumfeld'. Added trigger calculating malus for left and right side and sum it to the rating of 'gewaesserumfeld'. 2010-07-27 Tim Englich * contrib/db/auswertungsschema.sql: Bugfix for tables that must store double values in column 'bewertung'. Changed column-type from integer to numeric. 2010-07-27 Stephan Holl * fgskmf/templates/eingang.html: Fixed typo 2010-07-27 Stephan Holl * contrib/db/create_initial_db.sql, contrib/db/drop_initial_schema.sql, contrib/db/create_initial_auswertung.sql: New. Added files for easing the initialisation/dropping of the database. Separated into db-schema, auswertungsschema and its drop-statements. make sure to be inside contrib/db-folder when accessing this files from within psql with \i! 2010-07-27 Stephan Holl * contrib/db/drop_auswertungsschema.sql: Added missing DROP-statement for table belastung_sohle_max_auswertung. 2010-07-27 Tim Englich * contrib/db/auswertung_gewaesserumfeld.sql, contrib/db/auswertung_laengsprofil.sql, contrib/db/auswertung_laufentwicklung.sql: Added Number of Criterias for each rating to the calculation and write the value into the Database. 2010-07-26 Ingo Weinzierl * contrib/db/auswertung_gewaesserumfeld.sql: Created an update/insert trigger that listens to all changes relating to 'Uferstruktur' and updates its rating. !!!! TODO: JUST 4/6 fields are rated yet - this needs to be finished. !!!! 2010-07-23 Ingo Weinzierl * contrib/db/auswertung_uferstruktur.sql: Created an update/insert trigger that listens to all changes relating to 'Uferstruktur' and updates its rating. !!!! TODO: Just 2/12 fields are rated yet - this needs to be finished. !!!! 2010-07-23 Ingo Weinzierl * contrib/db/auswertung_sohlenstruktur.sql: Fixed typo. 2010-07-23 Ingo Weinzierl * contrib/db/auswertungsschema.sql, contrib/db/auswertungs_daten.sql: Added a new table storing the max values for 'Belastungen der Sohle' rating. * contrib/db/auswertung_sohlenstruktur.sql: Created an update/insert trigger that listens to all changes relating to 'Sohlenstruktur' and updates its rating. !!!! TODO: Just 2/6 fields are rated yet - this needs to be finished. !!!! 2010-07-22 Ingo Weinzierl * contrib/db/auswertung_querprofil.sql: Created an update/insert trigger that listens to all changes relating to 'Querprofil' and updates its rating. 2010-07-22 Ingo Weinzierl * contrib/db/auswertung_laufentwicklung.sql, contrib/db/auswertung_laengsprofil.sql: Some bugfixes: update the rating for the given kartierabschnitt_id only, take care on tendencies, consider that object OLD is Null after an INSERT statement and don't run into an endless loop after an UPDATE. 2010-07-21 Ingo Weinzierl * contrib/db/utils.sql: Implemented a function fgsk_round(number) that is used to round values. E.g.: fgsk_round(3.5) = 3 fgsk_round(3.51) = 4 * contrib/db/auswertung_laengsprofil.sql: Created an update/insert trigger that listens to all changes relating to 'Laengsprofil' and updates its rating. 2010-07-21 Ingo Weinzierl * contrib/db/auswertung_laufentwicklung.sql: Created an update/insert trigger that listens to all changes relating to 'Laufentwicklung' and updates its rating. 2010-07-21 Ingo Weinzierl * contrib/db/lookup_data.sql, contrib/db/drop_schema.sql, contrib/db/dbschema.sql: Added a new lookup table 'fliessrichtung' and lookup data for this table. Table 'kartierabschnitt' has a column 'bild_id' and 'fliessrichtung_id' now, because there might be a single picture for a 'Kartierabschnitt' only. * fgskmf/model/__init__.py: Added mappings for 'Fliessrichtung' and 'Bild'. * fgskmf/templates/kartierabschnitt.html, fgskmf/controllers/kartierabschnitt.py: Integrated the new columns into the gui and added controller logic to save and restore user data. * fgskmf/lib/validators.py: Adapted the form schema for 'Kartierabschnitt': a 'bild' and a 'fliessrichtung' is required now. * fgskmf/public/styles/base.css: Adjusted column sizes of the first row in 'Kartierabschnitt'. 2010-07-21 Stephan Holl * fgskmf/public/styles/base.css: Added a warning-class for our test-installation * fgskmf/templates/base.html: added a warning-div which provides information _not_ to use this db-instance for productive usage, since it gets thrown away after the tests. 2010-07-20 Ingo Weinzierl * fgskmf/lib/validators.py: Added a validator that checks user entered water subtypes regarding a selected water type. * fgskmf/lib/helpers.py: Added a helper function to retrieve valid subtypes for a water type. 2010-07-20 Ingo Weinzierl There is an entrance page for the initial step now. It is absolutely recommended to use this - or an alternative entrance - to start the application. URL: http://${YOURHOST}:${YOURPORT}/eingang/index * fgskmf/templates/eingang.html: An entrance for the initial step of this application: the selection of a water, a start and an end point. * fgskmf/controllers/eingang.py: The controller that handles the user input of the entrance page and redirects to the first section - the 'Kartierabschnitt' section. * fgskmf/controllers/kartierabschnitt.py: Removed the 'Kartierabschnitt' object from session object but store its id only. Use this id in the whole controller to fetch the corresponding 'Kartierabschnitt' from database. * fgskmf/lib/validators.py: Added a form schema to validate the input of the entrance page. * fgskmf/public/styles/base.css: Some styles for the entrance page. 2010-07-20 Ingo Weinzierl * fgskmf/lib/validators.py: Removed a debug statement that has been commited by accidentally. 2010-07-20 Ingo Weinzierl * contrib/db/lookup_data.sql, contrib/db/dbschema.sql: Moved columns 'gewaesser_abschnitt', 'wasserkoerper' and 'wk_typ' from gewaesser table to kartierabschnitt - removed corresponding lookup data. * fgskmf/model/__init__.py: Added mapping for WkTyp. * fgskmf/controllers/kartierabschnitt.py, fgskmf/templates/kartierabschnitt.html, fgskmf/lib/validators.py: Some necessary changes to save and restore the columns mentioned above. 2010-07-20 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Bugfix: parse datetime objects before setting the value for 'erfassungsdatum' in the 'Kartierabschnitt' section. * fgskmf/lib/helpers.py: New helper method that returns a datetime object corresponding to a given date string. 2010-07-20 Ingo Weinzierl * fgskmf/templates/kartierabschnitt.html: Replaced the title of an unnamed legend. 2010-07-20 Ingo Weinzierl * fgskmf/lib/validators.py: Improved some number validators. Now, it is possible (and already used for each section's schema) to set up a minimum value for numbers. The lowest value for our quantity fields is zero. 2010-07-19 Ingo Weinzierl * fgskmf/controllers/gewaesserumfeld.py, fgskmf/lib/validators.py: Make use of get_class_opts() for fetching the options for form fields. * fgskmf/lib/helpers.py: Removed obsolete functions that have been used by 'GewaesserumfeldController' before using get_class_opts(). 2010-07-19 Ingo Weinzierl * fgskmf/controllers/laengsprofil.py: Make use of get_class_opts() for fetching the options for form fields. * fgskmf/lib/helpers.py: Removed obsolete functions that have been used by 'LaengsprofilController' before using get_class_opts(). 2010-07-19 Ingo Weinzierl * fgskmf/controllers/uferstruktur.py, fgskmf/lib/validators.py: Make use of get_class_opts() for fetching the options for form fields. * fgskmf/lib/helpers.py: Convert values from database to utf8 unicode representation and remove helper functions that become obsolete through get_class_opts() usage. * fgskmf/templates/form.html: Bugfix: use the correct index for quantity labels. * fgskmf/templates/uferstruktur.html: Added labels for single select fields 'Ja' and 'Nein'. 2010-07-19 Ingo Weinzierl * fgskmf/controllers/querprofil.py: Make use of get_class_opts() for fetching the options for form fields. * fgskmf/lib/helpers.py: Removed obsolete functions that have been used by 'QuerprofilController' before using get_class_opts(). 2010-07-19 Ingo Weinzierl * fgskmf/controllers/laufentwicklung.py, fgskmf/lib/validators.py: Make use of get_class_opts() for fetching the options for form fields. * fgskmf/lib/helpers.py: Removed obsolete functions that have been used by 'LaufentwicklungController' before using get_class_opts(). 2010-07-19 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Use get_class_opts for the most of the form fields. * fgskmf/lib/helpers.py: Removed obsolete functions that have been used by 'KartierabschnittController' before using get_class_opts(). * fgskmf/templates/kartierabschnitt.html: Added labels for single select fields 'Ja' and 'Nein'. * fgskmf/templates/form.html: Changed the access for labels that are stored in the options array for single select fields and select boxes. 2010-07-19 Ingo Weinzierl * fgskmf/lib/helpers.py: Implemented two new helper functions: - label_to_fieldname(): replaces german umlauts with an alternative. E.g 'ä' becomes 'ae'. - get_class_opts(): returns a multi array for a given lookup class that contains id, name and label. Id and name are transformed via label_to_fieldname. * fgskmf/controllers/sohlenstruktur.py: fgskmf/lib/validators.py fgskmf/templates/form.html 2010-07-19 Ingo Weinzierl * contrib/db/update_keine_trigger.sql: New trigger that resets percentages in m:n table if the field 'nicht einschätzbar' was selected/updated. * fgskmf/lib/validators.py: Improved the validator for 'Sohlenstruktur'. * fgskmf/templates/form.html: Quantity fields with name 'nicht einschätzbar' will be rendered as a checkbox now. 2010-07-19 Ingo Weinzierl * contrib/db/update_keine_trigger.sql: Two further triggers that reset quantities in m:n tables if the field 'keine' was selected. * fgskmf/controllers/sohlenstruktur.py: Handle empty input fields for quantities as zero values. * fgskmf/lib/validators.py: Improvements for 'Sohlestruktur' validator. 2010-07-16 Ingo Weinzierl * fgskmf/controllers/laengsprofil.py: Handle an empty 'Querbaenke' field as zero value and persist zero into database. 2010-07-16 Ingo Weinzierl * fgskmf/controllers/laufentwicklung.py: Fill html form with localized floating point number. * fgskmf/controllers/form.py: Fill the form with request parameters after submitting a form - the numbers that come from formencode validators are not in a localized form. * fgskmf/lib/validators.py: Improved the validator to ensure that the user entered a german formatted number - numbers that contain points are no longer valid. 2010-07-16 Stephan Holl * fgskmf/public/styles/base.css: Disabled-Target implemented to modify the style of disabled input-forms. * fgskmf/templates/querprofil.html: Typo fix 2010-07-16 Ingo Weinzierl * fgskmf/model/__init__.py: New mappings and classes for m:n table Kartierabschnitt:Gewaessersubtyp. * fgskmf/controllers/kartierabschnitt.py: Save 'Gewaessersubtypes' to database and fill html forms with default values from db. 2010-07-16 Ingo Weinzierl * fgskmf/controllers/form.py: Renamed method _before_error into _before_render and call it before the template is rendered, now. * fgskmf/controllers/kartierabschnitt.py: Renamed method. Form fields relating to the water should be initialized after succesfully submitting the form as well. 2010-07-15 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Implemented a new method that is called before the template - that contains errors - is rendered. This is necessary to re-initialize water specific values (initGewaesser). * fgskmf/controllers/form.py: Do not override older form values with the dictionary that is retrieved by formencode. Merge these values with the old ones and call a new method '_before_error()' before the error template is rendered. 2010-07-15 Ingo Weinzierl * fgskmf/lib/validators.py: Added new validators to compare to floating point numbers (LesserOrEquals, Lesser). Integrated a compare validator into the form schema for section 'Querprofil'. 2010-07-15 Ingo Weinzierl * contrib/db/lookup_data.sql: Renamed quantity field 'kein' into 'keine' which will be rendered as checkbox. * fgskmf/controllers/querprofil.py, fgskmf/controllers/laengsprofil.py: Take care on NoneType numbers before formatting with locale - which would cause an error. 2010-07-15 Ingo Weinzierl * contrib/db/update_keine_trigger.sql: Some triggers that update m:n tables that contain a field named 'keine'. * fgskmf/templates/form.html: The lookup field 'keine' for quantities will be rendered as checkbox now. * fgskmf/controllers/form.py, fgskmf/controllers/querprofil.py, fgskmf/controllers/laengsprofil.py: Fill html form with localized floating point numbers. * fgskmf/lib/validators.py: Improved form schemas and added some new validators quantity forms. * fgskmf/public/styles/base.css: Adjustments to align the checkboxes for 'kein' quantity field. 2010-07-15 Ingo Weinzierl * fgskmf/templates/kartierabschnitt.html: Combined 'Gewaessertyp' and 'Gewaessersubtyp' into a single fieldset. 2010-07-14 Ingo Weinzierl * fgskmf/templates/kartierabschnitt.html: The form field 'Gewaesserabschnitt' is always disabled now, because its values comes from GIS component. * fgskmf/controllers/kartierabschnitt.py: Save 'stationierung_von' and 'stationierung_bis' into database and fill the gui with a german localized floating point number. * fgskmf/lib/validators.py: Do not validate the field 'Gewaesserabschnitt' any longer; use the validator GermanNumber (NEW) to validate the input in 'stationierung_von' and 'stationierung_bis'. These fields like german numbers now. 2010-07-14 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Bugfix: An empty 'Sonderfall' selection will not cause an error any longer. 2010-07-14 Ingo Weinzierl * fgskmf/templates/base.html: Modified the function to create the controls at the bottom of each section. There are five different buttons in two different modi now: normal mode : back and next button to step through the sections, and an edit button to enter the editing mode. editing mode: cancel button to return to discard the current changes and a save button to persist the current changes to database. Both buttons return to the normal mode after pushing them. * fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html: Changed the method call for creating the controls. Each page, except the first and last page, now have a button to step to the previous controller. 2010-07-14 Ingo Weinzierl * fgskmf/public/styles/base.css: Some new styles for the navigation bar. * fgskmf/templates/base.html: Implemented a new function that creates a navigation bar. It includes links for each section of the sheet. * fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html: Added a new function navigation(). It just calls navigation_bar() of the base class with the currently active tab to create the navigation bar. 2010-07-14 Ingo Weinzierl * fgskmf/public/styles/base.css: Fixed row size for each row in each section - fieldsets next to each other have the same height now. * fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html, fgskmf/templates/base.html: Some style advancements: colors are adjusted to LUNG's color schema, further style classes for div elements that enables us to adjust the style very granular. 2010-07-14 Ingo Weinzierl * fgskmf/public/styles/base.css: Some style adjustments that have been necessary for the integration of fieldsets. * fgskmf/templates/sohlenstruktur.html, fgskmf/templates/kartierabschnitt.html, fgskmf/templates/laufentwicklung.html, fgskmf/templates/gewaesserumfeld.html, fgskmf/templates/form.html, fgskmf/templates/laengsprofil.html, fgskmf/templates/uferstruktur.html, fgskmf/templates/querprofil.html: Integrated fieldsets for each group of input fields. 2010-07-13 Ingo Weinzierl * contrib/db/lookup_data.sql: Added 'keine' as valid lookup for 'laengsbaenke' and 'laufstrukturen'. * contrib/db/dbschema.sql: Removed fields 'hat_laengsbaenke' and 'hat_laufstrukturen' from table 'laufentwicklung which doesn't fit to the evaluation. * fgskmf/lib/validators.py: Improved the validator to ensure the existence of at least one field of a given fieldset. * fgskmf/templates/laufentwicklung.html: Added hidden input fields that are used as anchor for error messages. * fgskmf/controllers/laufentwicklung.py: Improved the mechanism to save the quantity of 'laengsbaenke' and 'laufstrukturen' - we are able to insert 0,5 'laengsbaenke' now. 2010-07-13 Ingo Weinzierl * fgskmf/controllers/gewaesserumfeld.py: Empty fields that are used to enter the quantity of 'Umfeldstrukturen' will be handled as zero and written to database after the validation was successful. * fgskmf/lib/validators.py: Implemented a form schema to validate the section 'Gewaesserumfeld'. * fgskmf/templates/gewaesserumfeld.html: Added hidden form fields that are used as anchor for error messages. 2010-07-13 Ingo Weinzierl * fgskmf/controllers/uferstruktur.py: Some smaller bugfixes that have been necessary to complete the validation schema. * fgskmf/lib/validators.py: Added a new validator that can be used to ensure the input of at least one field of a set of form fields. The fields that should be taken into account for this validation are identified by its postfix. Furthermore, the validation of section 'Uferstruktur' is completed. * fgskmf/lib/helpers.py: Do not decode string for section 'Uferstruktur' to unicode - seemed to be unnecessary. * fgskmf/templates/uferstruktur.html: Added some hidden input fields for the left and right side of 'Uferstrukturen' and 'Uferbelastungen'. They are used as anchor for error messages. 2010-07-13 Ingo Weinzierl * fgskmf/controllers/form.py: Added a debug statement that shows validation errors. 2010-07-12 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Save field 'Sonderfall' into db if specified by the user. * fgskmf/lib/validators.py: Improved error handling of single select fields. 2010-07-12 Ingo Weinzierl * fgskmf/controllers/form.py: Transform the multi dict that is returned from request into a flat list. * fgskmf/lib/validators.py: Added a validator for validating single select fields (like 'Sonderfall' in 'Kartierabschnitt' section is.) 2010-07-12 Ingo Weinzierl * fgskmf/controllers/sohlenstruktur.py: Fixed a typo. * fgskmf/lib/validators.py: Completed validation of section 'Sohlenstruktur'. * fgskmf/controllers/form.py: Decode error messages and keys to unicode before html fill starts filling the template - which would result in an unicode decode error. 2010-07-12 Ingo Weinzierl * contrib/db/drop_auswertungsschema.sql, contrib/db/lookup_data.sql: Bugfix: removed typos. 2010-07-12 Ingo Weinzierl * fgskmf/lib/helpers.py: Prevent unicode errors in section 'Laengsprofil'. 2010-07-12 Ingo Weinzierl * fgskmf/templates/laufentwicklung.html: There are two new fields to define that there are no 'Laengsbaenke' and 'Laufstrukturen' - they are separate from the number of 'Laengsbaenke' and 'Laufstrukturen' now. * fgskmf/controllers/laufentwicklung.py: Add default values for 'hat_laengsbaenke' and 'hat_laufstrukturen' and persist these values into db. * fgskmf/public/styles/base.css: Some small changes for the new form fields. 2010-07-09 Ingo Weinzierl * fgskmf/lib/helpers.py: Bugfix: Return the correct variable for 'laufkruemmung' options. 2010-07-09 Ingo Weinzierl * contrib/db/lookup_data.sql: Removed 'keine' from lookup tables 'laengsbaenke' and 'laufstrukturen'. * contrib/db/drop_auswertungsschema.sql, contrib/db/auswertungsschema.sql, contrib/db/drop_schema.sql: Wrapped all statements into a BEGIN-END block. * contrib/db/dbschema.sql: Added two further columns 'hat_laengsbaenke' and 'hat_laufstrukturen' from type boolean to table 'laufentwicklung'. 2010-07-09 Ingo Weinzierl * fgskmf/lib/validators.py: Completed the form schema for 'Laengsprofil' validation. 2010-07-09 Stephan Holl * fgskmf/public/styles/base.css: Style-Classes for error and error-message 2010-07-09 Ingo Weinzierl * fgskmf/controllers/uferstruktur.py: Bugfix: Take care on NoneType objects before casting values. 2010-07-09 Ingo Weinzierl * fgskmf/model/__init__.py: - Added a contructor for creating new 'Laufentwicklung' objects. - Bugfix: Removed a typo. * fgskmf/controllers/laufentwicklung.py: Bugfix: Create a new object 'Laufentwicklung' if there is currently no such object with a given 'Kartierabschnitt' id instead of returning None. 2010-07-09 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Bugfix: Handle the comment field in a 'Kartierabschnitt' as unicode. 2010-07-09 Ingo Weinzierl * fgskmf/model/__init__.py: Bugfix: Just return a formatted date of a 'Kartierabschnitt' if there is a date to format. 2010-07-09 Ingo Weinzierl * fgskmf/model/__init__.py: Added mappings for 'SchaedlicheUmfeldstrukturen' and 'Umfeldstrukturen'. * fgskmf/lib/validators.py: Added form schema stub for validating 'Gewaesserumfeld'. * fgskmf/controllers/gewaesserumfeld.py: Fill html forms with default values from database and persist user input into database. * fgskmf/templates/gewaesserumfeld.html: Added postfixes for 'Umfeldstrukturen' and 'SchaedlicheUmfeldstrukten' forms (left and right side). 2010-07-08 Tim Englich * contrib/db/auswertungs_daten.sql: Corrected mistakes that were found during qs. * contrib/db/auswertungsschema.sql: Corrected Typos 2010-07-08 Tim Englich * contrib/db/auswertungs_daten.sql: Corrected values in section substratdiversität as result of an phone call to mrs. kasper from biota. 2010-07-08 Tim Englich * contrib/db/dbschema.sql: Added column gueteklasse in table kartierabschnitt to make it possible to store the calculated gueteklasse of the entries. Also added columns summe_punktzahl and anzahl_kriterien for each section to make it possible to store the calculated result for each section. 2010-07-08 Tim Englich * contrib/db/drop_auswertungsschema.sql: Added drop-table statements for section uferstruktur and substrat diversitaet. * contrib/db/auswertungs_daten.sql: Added values for the analysis in section uferstruktur and substrat diversitaet. insetred Changes to values according to phone cal to mr. degen from biota. * contrib/db/auswertungsschema.sql: Added tables for the analysis in section uferstruktur and substrat diversitaet. 2010-07-07 Ingo Weinzierl * fgskmf/model/__init__.py: Mappings for 'Uferbelastungen' und 'Uferstrukturen'. * fgskmf/controllers/uferstruktur.py: Fill html forms with default values from database and persist user input into database. * fgskmf/lib/validators.py: Added schema stub for validating section 'Uferstruktur'. * fgskmf/templates/uferstruktur.html: Some structural changes (form fits to a resolution of 1024x768 now). 2010-07-06 Stephan Holl * contrib/db/dbschema.sql: typo gefixt 2010-07-06 Tim Englich * fgskmf/model/__init__.py: Added mappings for analysis in section laufentwicklung. 2010-07-06 Ingo Weinzierl * fgskmf/templates/uferstruktur.html: Layout improvements of section 'Uferstruktur'. * fgskmf/public/styles/base.css: Some new style classes for section 'Uferstruktur'. 2010-07-06 Ingo Weinzierl * fgskmf/public/styles/base.css: New style classes for section 'Sohlenstruktur' - mostly width adjustments. * fgskmf/templates/sohlenstruktur.html: Restructured the layout. Now, there are two rows - one for 'Sohlenverbau' and 'Zustand' and the other one for entering percentages and quantities. 2010-07-06 Tim Englich * contrib/db/auswertungsschema.sql: Added tables for the anaysis in sectin sohlenstruktur. * contrib/db/auswertungs_daten.sql: Added values for the analysis in section sohlenstruktur. * contrib/db/drop_auswertungsschema.sql: Added drop-table statements for section sohlenstruktur for analysis section. 2010-07-06 Ingo Weinzierl * fgskmf/model/__init__.py: Added class and mapping for missing state field of section 'Sohlenstruktur'. * fgskmf/controllers/sohlenstruktur.py: Add default values and options for html fields for the missing state field and save user input into database. * fgskmf/lib/helpers.py: New helper function that retrieves the options for the state field. * fgskmf/templates/sohlenstruktur.html: Added further column for the missing state field. 2010-07-06 Ingo Weinzierl * fgskmf/model/__init__.py: Added necessary mappings and constructors for section 'Sohlenstruktur'. * fgskmf/controllers/sohlenstruktur.py: Fill html forms with default values and save user data into database. * fgskmf/lib/validators.py: Added validation schema for validating user input in section 'Sohlenstruktur'. * fgskmf/lib/helpers.py: Decode descriptions used in 'Sohlenstruktur' to unicode. * fgskmf/templates/sohlenstruktur.html: Added postfixes to html form names to avoid name collsisions while saving user data. * fgskmf/templates/form.html: Replace whitespaces with underscores in strings that are used for html forms in function 'anzahl'. 2010-07-06 Tim Englich * contrib/db/dbschema.sql: Added missing table z_sohlenverbau and required reference in table sohlenstruktur to databaseschema. * contrib/db/drop_schema.sql: Added drop table statement for z_sohlenverbau. * contrib/db/lookup_data.sql: Added lookupdata for zustamd sohlenverbau. 2010-07-06 Tim Englich * contrib/db/auswertungsschema.sql: Added tables for the anaysis in sectin gewaesserumfeld * contrib/db/auswertungs_daten.sql: Added values for the analysis in section gewässerumfeld. TODO: FIND Propper value sfor schaedlche umfeldstrukturen. * contrib/db/drop_auswertungsschema.sql: Added drop-table statements for section gewässerumfeld for analysis section. 2010-07-06 Tim Englich * contrib/db/auswertungsschema.sql: Added tables for the anaysis in sectin querprofile. * contrib/db/auswertungs_daten.sql: Added values for the analysis in section querprofile. * contrib/db/drop_auswertungsschema.sql: Added drop-table statements for section querprofile for analysis section. 2010-07-05 Ingo Weinzierl * fgskmf/model/__init__.py: Added mappings for 'Querprofil' and 'QuerprofilHatMessungen'. * fgskmf/lib/validators.py: Added schema for validating user input in section 'Querprofil'. * fgskmf/controllers/querprofil.py: Fill html forms with default values and save user input into database. * fgskmf/templates/form.html: Repace whitespaces with underscores in form names. * fgskmf/templates/querprofil.html 2010-07-05 Ingo Weinzierl * fgskmf/model/__init__.py: Added mappings for 'BesonderheitenWasserfuehrung'. * fgskmf/controllers/form.py: Initialize default values here before rendering the template - this is no longer necessary in subclasses. * fgskmf/controllers/laengsprofil.py: Added default values and save user input into database. * fgskmf/lib/validators.py: Added schema for validating user input for 'Laengsprofil' section. * fgskmf/templates/laengsprofil.html: 'Besonderheiten_Wasserfuehrung' are checkboxes for multi selection now. 2010-07-05 Ingo Weinzierl * fgskmf/model/__init__.py: Implemented constructors of 'LaufentwicklungHatLaengsbaenke' and 'LaufentwicklungHatLaufstrukturen'. * fgskmf/controllers/laufentwicklung.py: Save user specified parameters into database. * fgskmf/lib/helpers.py: New function to fetch a 'Kartierabschnitt' from database specified by an id. 2010-07-05 Tim Englich * contrib/db/auswertungs_daten.sql, contrib/db/auswertungsschema.sql, contrib/db/drop_auswertungsschema.sql: Added Create- and Dropstatements for analysis-section laengsprofil. Also added the data which is required for the analysis in section laengsprofil. 2010-07-05 Tim Englich * contrib/db/auswertungs_daten.sql: Added the values for the analysis of the section laufentwicklung. * contrib/db/auswertungsschema.sql: Added Databaseschema for the analysis of the captured data. * contrib/db/drop_auswertungsschema.sql: Added Drop-Table-Statements for the tables which were defined in contrib/db/auswertungsschema.sql. 2010-07-05 Ingo Weinzierl * fgskmf/templates/missing_kartierabschnitt.html: Tempalte that should be rendered if no 'Kartierabschnitt' was found in the current session. TODO: Currently, there is no css and no links to navigate to the first section. * fgskmf/controllers/kartierabschnitt.py, fgskmf/controllers/laufentwicklung.py: Render the template above if no 'Kartierabschnitt' was found in the current session. 2010-07-05 Ingo Weinzierl * fgskmf/model/__init__.py: Added classes and mappings for section 'Gewaesserumfeld'. * fgskmf/lib/helpers.py: New functions to retrieve valid form data for section 'Gewaesserumfeld'. * fgskmf/controllers/gewaesserumfeld.py: Fill html forms with options. * fgskmf/templates/form.html: Adjusted function 'anzahl()'. Option 'multi_line=False' will create two rows - an upper one filled with form fields, and a lower one filled with descriptions. * fgskmf/public/styles/base.css: Some styles for section 'Gewaesserumfeld'. * fgskmf/templates/gewaesserumfeld.html: Added html forms and adjusted the style. 2010-07-05 Ingo Weinzierl * fgskmf/model/__init__.py: Added classes and mappings for 'Uferstrukturen' and 'Uferbelastungen'. * fgskmf/controllers/uferstruktur.py: Fill html forms with options. * fgskmf/lib/helpers.py: New functions to retrieve options for html forms in section 'Uferstruktur'. * fgskmf/public/styles/base.css: Some new styles for 'Uferstruktur' section. * fgskmf/templates/uferstruktur.html: Added html forms and adjusted the style. 2010-07-02 Tim Englich * contrib/db/lookup_data.sql: Added insert statements for lookuptables for sections uferstruktur and gewaesserumfeld. 2010-07-02 Ingo Weinzierl * fgskmf/model/__init__.py: 'Kartierabschnitt' got a new function 'formatted_date()' that returns the entry date well formatted as 'dd.mm.yyy'. * fgskmf/controllers/kartierabschnitt.py: Use 'formatted_date()' function to fill the html form with default values. * fgskmf/lib/validators.py: Improved the validation of the entry date. Use formencode validators now, instead of a homemade one. 2010-07-02 Ingo Weinzierl * fgskmf/lib/validators.py: Implemented a validator that takes a list of valid values und checks if a given value is in this list. If it is not, an exception is raised. Furthermore, the validator for 'Sonderfall' was adjusted - but it is not ready yet. * fgskmf/lib/helpers.py: Added a function that takes all valid IDs for a given class and returns them as list. 2010-07-02 Ingo Weinzierl * fgskmf/lib/helpers.py: Some functions to fetch Sohlenstruktur related form options data database. * fgskmf/controllers/sohlenstruktur.py: Add form options to context to be available in template. * fgskmf/templates/sohlenstruktur.html: Added form fields. 2010-07-02 Ingo Weinzierl * fgskmf/lib/helpers.py: Some functions to fetch Querprofil related form options data database. * fgskmf/controllers/querprofil.py: Add form options to context to be available in template. * fgskmf/templates/querprofil.html: Added form fields. 2010-07-02 Ingo Weinzierl * fgskmf/lib/helpers.py: Some function to fetch Laengsprofil related form options from database. * fgskmf/controllers/laengsprofil.py: Add form options to context to be available in template. * fgskmf/templates/laengsprofil.html: Added form fields. 2010-07-02 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py, fgskmf/controllers/form.py: Moved 'submit' action to FormController, because other controllers need exactly the same stuff. NOTE: We no longer save the whole Kartierabschnitt in the session. This had some side effects that broke the application. Instead, we just save its id - which means, that we have to pick up our Kartierabschnitt object at the beginning of the next controller manually from database. * fgskmf/controllers/laufentwicklung.py: Removed the 'submit' action as well and picked up the Kartierabschnitt object at the beginning of an action. * fgskmf/lib/validators.py: Added form schema and validators for the Laufentwicklung object. 2010-07-01 Ingo Weinzierl * fgskmf/controllers/laufentwicklung.py: Insert default values into form fields. 2010-07-01 Ingo Weinzierl * fgskmf/model/__init__.py: Added mappings for 'laufstrukturen' and 'laengsbaenke', so that we are able to access these objects from 'Laufentwicklung'. 2010-06-28 Ingo Weinzierl * fgskmf/controllers/gewaesserumfeld.py, fgskmf/templates/gewaesserumfeld.html: Added template and controller stub for section 'Gewaesserumfeld'. 2010-06-28 Ingo Weinzierl * fgskmf/controllers/sohlenstruktur.py, fgskmf/templates/sohlenstruktur.html: Added template and controller stub for section 'Sohlenstruktur'. 2010-06-28 Ingo Weinzierl * fgskmf/controllers/uferstruktur.py, fgskmf/templates/uferstruktur.html: Added template and controller stub for section 'Uferstruktur'. 2010-06-28 Ingo Weinzierl * fgskmf/controllers/querprofil.py, fgskmf/templates/querprofil.html: Added template and controller stub for section 'Querprofil'. 2010-06-28 Ingo Weinzierl * fgskmf/tests/functional/test_laengsprofil.py, fgskmf/controllers/laengsprofil.py, fgskmf/templates/laengsprofil.html: Added template and controller stub for section 'Laengsprofil'. 2010-06-25 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Update the current 'Kartierabschnitt' and save changes into database after an 'submit' action. 2010-06-25 Tim Englich * fgskmf/model/__init__.py: Removed previous relationship because of errors during the execution of the code. 2010-06-25 Tim Englich * fgskmf/model/__init__.py: Added many to many relationship between längsprofil and besonderheiten_wasserfuehrung. 2010-06-25 Tim Englich * fgskmf/model/__init__.py: Add one to many relationship between laufentwicklung and laengsbänke and laufstrukturen. It could not be a many to many relationship because we have to store the counts in the mappingtable. The many to one relationships to the lookuptable are not nessessary. 2010-06-25 Tim Englich * fgskmf/model/__init__.py: Added mappings for the one to one relationships between kartierabschnitt and laufentwicklung, längsprofil, querprfil and sohlenstruktur. Now it is possible to access the Objects from an Object kartierabschnitt e.g. using kartierabschnitt.laufentwicklung. 2010-06-25 Ingo Weinzierl * fgskmf/templates/kartierabschnitt.html: River specific values are no longer editable in the html form. * fgskmf/lib/validators.py: Removed validation of fix values of a river. * fgskmf/controllers/kartierabschnitt.py: Initialize river specific values before calling an action. 2010-06-25 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Added default values for the form fields if there is an existing 'Kartierabschnitt' in the database. * fgskmf/templates/kartierabschnitt.html, fgskmf/lib/validators.py: Renamed a form field in template and the corresponding attribute in its form schema (matches the db schema now.) 2010-06-25 Ingo Weinzierl * contrib/db/lookup_data.sql: Changed some sample values, so that they are valid regarding the input validation. 2010-06-25 Tim Englich * contrib/db/dbschema.sql: Changed key-columns from numeric to integer to prenevt usage of decimalvalues as keys. 2010-06-25 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Before an action is called, we start searching for a 'Kartierabschnitt' that is already existing in the database. If no 'Kartierabschnitt' was found, we create a new one with the given parameters of the river. Afterwards, the object is stored in the session. If the parameters of the river are empty no 'Kartierabschnitt' object is searched. Actions that are called after this initial function should render an error page if no 'Kartierabschnitt' object is stored in the session - we are not able to go on without a valid 'Kartierabschnitt'. * fgskmf/controllers/form.py: Call _initDefaults to initialize default values in template forms. 2010-06-24 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py, fgskmf/controllers/laufentwicklung.py: Moved functions that fetch possible values from database lookup tables to helpers.py, because these functions need to be used in the validators as well. * fgskmf/lib/helpers.py: Added helper functions. 2010-06-24 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Validate user input in 'submit' action. * fgskmf/controllers/form.py: Use formencode.htmlfill to insert default values and errors into template while rendering. * fgskmf/lib/validators.py: A new place for validators and form schemes. There is currently a form scheme for 'Kartierabschnitt' and some validators that are used in that scheme - some validators are still missing for a complete check of 'Kartierabschnitt'. * fgskmf/templates/kartierabschnitt.html: Fixed a duplicated input name. 2010-06-23 Ingo Weinzierl * fgskmf/controllers/form.py: A new controller that is used as base controller. It encapsulates functions that are necessary in each other controller. * fgskmf/controllers/kartierabschnitt.py: Removed 'render' and 'edit' actions that are implemented in FormController. Therefore, it was necessary to adjust the signature of 'initOptions' function which is now a private function of the controller itself. Furthermore, there is a new private function 'get_template()' that returns the name of the template rendered by this controller. This function is called from FormController. * fgskmf/controllers/laufentwicklung.py: A new controller for the section 'Laufentwicklung'. TODO: Just as the KartierabschnittController, this controller has no form validation and database inserts/updates. * fgskmf/templates/kartierabschnitt.html: Removed html code for adding the controls at the bottom of the page. This code is placed on a central place now (base.html) to be reusable in other templates. * fgskmf/templates/base.html: Added the html code for creating controls - moved here from kartierabschnitt.html. The function is called 'controls' and takes two arguments: the name of the current controller, and the name of the next controller. * fgskmf/templates/laufentwicklung.html: New template for the second section of the sheet - 'Laufentwicklung'. * fgskmf/templates/form.html: Added a new function to create many text fields by a given number of attributes. * fgskmf/tests/functional/test_laufentwicklung.py, fgskmf/tests/functional/test_form.py: Some test stubs for the new controllers. No tests implemented yet! * fgskmf/public/styles/base.css: Many new classes for the new template. 2010-06-23 Ingo Weinzierl * fgskmf/model/__init__.py: Fixed a wrong mapping. 2010-06-23 Tim Englich * contrib/db/dbschema.sql, contrib/db/lookup_data.sql: Changed the id column from datatype serial to numeric. This was nessesary because we need fixed ids to lookup the values for the analysis. 2010-06-23 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Added a mechanism to fetch the possible values for 'Gewaessertyp' and its 'Gewaessersubtyp's. * fgskmf/templates/kartierabschnitt.html: Some design changes. The 'Kartierabschnitt' section is subdivided into three major parts now, because 'Gewaessertyp' and 'Subtpy' need to much space. * fgskmf/templates/form.html: Improved the creation of html forms: - radio buttons and checkboxes are disabled if the property 'c.disabled' is not null or empty. - there is a new function to create a list of radio buttons with a label on the left side of the button (labels are usually on the right side). - there is a new function to create a textarea. Again, the 'c.disabled' property is checked to disable the textarea. * fgskmf/public/styles/base.css: Some style improvements that were necessary for the changes in 'kartierabschnitt.html'. 2010-06-23 Ingo Weinzierl * fgskmf/model/__init__.py: Added a m:n mapping for gewaessertyp and gewaessersubtyp. So, a Gewaessertyp object has a list of its Gewaessersubtype objects. The property on Gewaessertyp is called 'subtypes'. 2010-06-23 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Removed a bug: The first option for a form field have not been rendered. * fgskmf/templates/form.html: Added a further function to create select forms. The reason of this is, that we need to check the 'c.disabled' property with an if/else block to disable select forms. * fgskmf/templates/kartierabschnitt.html: Use the new function in form.html to create select forms. 2010-06-23 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: The 'render' action is no longer accessible from outside (by the user so) - it has private access now. 2010-06-22 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: Added functions to read valid values for necessary 'Kartierabschnitt' parameters and make them available in the template. TODO: 'Gewaessertyp' values are not read from database until now. * fgskmf/templates/kartierabschnitt.html: Render html form elements for each parameter in the sheet. TODO: No form elements for 'Gewaessertyp' until now. * fgskmf/public/styles/base.css: Added classes for text, date and number fields. * fgskmf/templates/form.html: Changed the method signature of multi(.) and single(.). 2010-06-22 Tim Englich * contrib/db/lookup_data.sql: Added insert statements for lookuptables for sections kartierabschnitt, laufentwicklung, längsprofil, querprfil and sohlenstruktur. 2010-06-22 Tim Englich * contrib/db/dbschema.sql: Added column unterhaltungerkennbar to table kartierabschnitt which was still missing. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI in section Sohlenstruktur. 2010-06-22 Tim Englich * contrib/db/drop_schema.sql: Added drop table statement for table sonderfall. * contrib/db/dbschema.sql: Added new relationship to kartierabschnitt. verrohrt and sonstiges will not be modled as two columns of kartierabschnitt but will be linked as a 1 to 0..1 relationship using the table sonderfall. Added the column kurzbeschreibung to the tables sohlenstrukturen and belastung_sohle * fgskmf/model/__init__.py: Added OR-Mapper for table sonderfall. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI with Information about the 'Gewässer' which was analized. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI in section Querprofil. 2010-06-22 Stephan Holl * contrib/db/dbschema.sql: date to timestamp 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI in section Längsprofil. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Fixed copy and paste error. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI in section Laufentwicklung. 2010-06-22 Tim Englich * fgskmf/model/__init__.py: Added OR-Mappings to be able to fill the GUI in section Kartierabschnitt. 2010-06-22 Tim Englich * contrib/db/dbschema.sql: Corrected som tablenames which were not translated to german. * contrib/db/drop_schema.sql: Added SQL-Script for dropping all tables from thy database. 2010-06-22 Tim Englich * development.ini: Changed DB-Connectionstring to Developmentsystem on fiji. * fgskmf/model/__init__.py: Added OR-Mapping for table kartierabschnitt to the init-file of the Model. 2010-06-22 Ingo Weinzierl * fgskmf/controllers/kartierabschnitt.py: A controller that handles the first section 'Kartierabschnitt' of the FGSK sheet. Currently, there are four actions defined: - render: renders the template 'kartierabschnitt.html' (should not be called directly - TODO: maybe there is a possibility to avoid this). - index : calls render() but also sets a property to deactivate form elements - no input can be done so far. - edit : same function as index() but sets no property to deactivate form elements - users are able to fill in necessary parameters. - submit: currently, this controller has no real function but calling render(). After the template is filled with form elements, this controller should validate the input and do some database udpates. * fgskmf/tests/functional/test_kartierabschnitt.py: A test for the 'kartierabschnitt' controller. Not used yet. * fgskmf/lib/helpers.py: Imported some helpful tools of webhelpers for creating form elements. * fgskmf/templates/base.html: This is the main template of the FGSK sheet. It defines the main structure of the html page and includes the base stylesheet for the html pages. * fgskmf/templates/form.html: This template inherits from base.html. It defines some basic functions that are useful for creating form elements - which are not the tools that are imported in helpers.py from webhelpers. * fgskmf/templates/kartierabschnitt.html: A specific template for the 'Kartierabschnitt' section. TODO: Render form fields and adjust error message boxes. * fgskmf/public/styles/base.css: The basic stylesheet used for the FGSK sheet. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Removed syntax-mistakes from the create-schema-script. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Do some Codeformatting. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Add n to m relationship between Bild and Kartierabschnitt. So it is possible to store more than one picture to one Kartierabschnitt. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Switched all integer and double columns to numeric columns. Switched all varchar(*) columns to text columns. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Modled the section of Gewässertyp and Subtype in a different way. Put all Subtypes in a separate table. Creates an n to m relationship between Subtypes and Typs to determin which subtype could be choosen if a special type is selected. Also pu a n to m relationship between subtypes and the kartierabschnitt to model that a processor can choos several subtypes to one kartierabschnitt. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added own table for Gewässerumfeld and moved the columns and n to m mappings which belongs to it from Uferstruktur. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Changed the language of the db-schema from english to german. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added column seeausfluss to table kartierabschnitt. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Extracts the Data of the water into a separate table. References this table using the column gewaesser_kennzahl to the table kartierabschnitt. Changes the Column for stationierung in table kartierabschnitt into stationierung_von and stationiering_bis. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Corrected wrong commment for table floor_structures. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Removed wrong column 'count' from tables floor_structures and floor_pressures. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added some comments to explaint the different meaings of the Tables in context of the "Erfassungsbogen" 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Adding missing table z_bank_sheeting to db-schema. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Removed wrong relationships to water_shoulder and land_use_designation from floorstructur. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added one to many references from bankstructure to land_use_designation and water_shoulder to model the relationship for "Gewässernutzung links/rechts" and "Gewässerrandstreifen links/rechts". 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added Lookuptables for "Stammdaten" 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added table and Lookuptables for course evolution. 2010-06-21 Tim Englich * contrib/db/dbschema.sql: Added lookuptables for longitudinal profiles 2010-06-21 Tim Englich * ChangeLog: Added Changelog-file to version-control * contrib/db/dbschema.sql: Added DB-Schema to version-control