2011-08-19 Ludwig Reiter * ez_setup/__init__.py, mpulsweb/controllers/auth.py, mpulsweb/lib/security.py, mpulsweb/lib/base.py: Use module hashlib instead of md5, because Md5 is deprecated in Python 2.6. 2011-08-19 Ludwig Reiter * mpulsweb/lib/formedrenderer.py: Fix url_for at id=0 problem, use url_for once. 2011-08-19 Bernhard Herzog * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations. 2011-08-19 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. 2011-08-19 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.delete): Fix dialog title. 2011-08-19 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.delete): Simplify the implementation and remove the exception handlers. The callers can deal with the exceptions now. 2011-08-19 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.delete): Log exceptions that happen in _do_delete_case 2011-08-19 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.delete): Prepare for the possibility that deleting a case may raise arbitrary exceptions, which will be the case when the meta-server is involved, for instance. The actual deletion is handled in the new method _do_delete_case which is the place where the more specific exceptions can be handled. The delete method itself is mostly scaffolding to ask for confirmation and handle exceptions not caught by _do_delete_case in a generic way. (CaseController._do_delete_case): Extracted from delete so that derived classes can easily extend the exception handling, if necessary. * mpulsweb/templates/casemanagement/dialogs/failed_delete.mako: New. Template for errors detected during deletion in the case controller. 2011-08-19 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.anonymize): Simplify the implementation and remove the exception handlers. The callers can deal with the exceptions now. 2011-08-19 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.anonymize): Prepare for the possibility that anonymizing a case may raise arbitrary exception which will be the case when the meta-server is involved, for instance. The actual anonymization is handled in the new method _do_anonymize_case which is the place where the more specific exceptions can be handled. The anonymize method itself is mostly scaffolding to ask for confirmation and handle exceptions not caught by _do_anonymize_case in a generic way. (CaseController._do_anonymize_case): Extracted from anonymize so that derived classes can easily extend the exception handling, if necessary. * mpulsweb/templates/casemanagement/dialogs/failed_anonymize.mako: New. Template for errors detected during anonymization in the case controller. 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Prepare for the possibility that marking a case for anonymization may raise arbitrary exception which will be the case when the meta-server is involved, for instance. The actual anonymization is handled in the new method _do_mark_anonymize_case which is the place where the more specific exceptions can be handled. _markForAnonymize itself is mostly scaffolding to ask for confirmation and handle exceptions not caught by _do_mark_anonymize_case in a generic way. (CaseController._do_mark_anonymize_case): Extracted from _markForAnonymize so that derived classes can easily extend the exception handling, if necessary. 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.delete): Improve error reporting. This is basically the same as the improved error reporting implemented for markAnonymize and anonymize including the performance improvement achieved by fewer calls to case_bundle.getCases(). * mpulsweb/templates/casebundle/dialogs/failure_delete_admin.mako: New. Template for the case bundle deletion error message. 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.anonymize): Improve error reporting. This is basically the same as the improved error reporting implemented for markAnonymize. It already includes the performance improvement achieved by fewer calls to case_bundle.getCases(). 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.markAnonymize): Initialize the variable total earlier and use it instead of "len(case_bundle.getCases())" in two places. That expression is horribly inefficient because it loads each case in the bundle, which includes one database round-trip for each case, and all that just to count the cases. 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.markAnonymize): Fix local variable reference. 2011-08-18 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.markAnonymize): Improve error reporting. The case bundle methods like markAnonymize return for how many cases in the bundle the action could be performed successfully. The old code always presented the result as success, although it at least indicated how many cases were marked for anonymization successfully. The new code makes this more obvious. This is necessary for the meta server support because now it's more likely that marking for anonymization fails because it may involve uploading data to the meta-server. * mpulsweb/templates/casebundle/dialogs/failure_anonymize.mako: New. Template for the mark anonymize error message. 2011-08-17 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.markForDelete): Use the new case method markDelete instead of setting the case state directly. 2011-08-17 Bernhard Herzog * mpulsweb/controllers/privacy.py (PrivacyController.decline): Use the new case method markAnonymize instead of setting the case state directly. 2011-08-17 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Use the new case method markAnonymize instead of setting the case state directly. The local variable to which the return value of the setState method was assigned is not used anywhere, so it doesn't matter that we don't assign to it anymore. 2011-08-17 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.markDelete): New method to mark the case for deletion. Derived classes may extend this method. (MpulsCaseBundle.markDelete): Call the new MpulsCase method markDelete instead of setting the case's state directly. 2011-08-17 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.markAnonymize): New method to mark the case for anonymization. Derived classes may extend what the method does. (MpulsCaseBundle.markAnonymize): Call the new MpulsCase method markAnonymize instead of setting the case's state directly. 2011-08-15 Ludwig Reiter * mpulsweb/lib/security.py: Use error logging instead of exception logging in the checkRole function. (Issue2241) 2011-08-12 Bernhard Herzog * mpulsweb/lib/config.py (MpulsAppConfig.build_defaults): Fix formatting of the default value of the case/fields setting. 2011-08-12 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_case): Return the new instance tree, if the case was actually loaded, return None otherwise. This makes import_case behave more like the base class method it extends. This extension only works because the base method returns the instance tree and classes derived from MPulsXMLImporter may derived classes can in turn extend the method in the same way. 2011-08-12 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.get_value): Fix doc-string. 2011-08-11 Ludwig Reiter * mpulsweb/lib/security.py: Logging added to the checkRole function (Issue2241). With this an unauthorized response of missing role is displayed in the logs. 2011-08-10 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/usersettings/edit_standin.mako: Issue2274: Changed the back to link name to my account in edit_standin dialog. 2011-08-10 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/administration/edit_user.mako, mpulsweb/templates/administration/new_user.mako: Issue2275: Set label of the branchoffice uniformly to "Institution". So show and edit and new no longer differ in this label. 2011-08-10 Roland Geider * mpulsweb/public/styles/screen.css: issue2309: added top-padding to H2-elements 2011-08-04 Ludwig Reiter * mpulsweb/lib/timelog.py, mpulsweb/lib/base.py, mpulsweb/lib/app_globals.py: Removed the not needed timelog module. 2011-08-04 Ludwig Reiter * mpulsweb/controllers/administration.py, mpulsweb/lib/search.py, mpulsweb/lib/validators.py: Replace prints with log statements. Print statements should no longer be used, because we want to use the logging module to log. 2011-08-01 Roland Geider * mpulsweb/lib/base.py: Typo 2011-08-01 Roland Geider * mpulsweb/controllers/evaluate.py: issue2267: pass the search parameters to the HTML evaluations, so the TEMP tables are filled with correctly filtered cases 2011-07-21 Bernhard Herzog * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Add date to the formatters' datefmt 2011-07-21 Bernhard Herzog * mpulsweb.egg-info/paste_deploy_config.ini_tmpl, development.ini: Fix the key used for the database name in the format string. It's mpuls_dbname now instead of dbname. 2011-07-21 Ludwig Reiter * mpulsweb.egg-info/paste_deploy_config.ini_tmpl, development.ini: Changed the ini files to display the dbname in the log messages. 2011-07-20 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.__before__): Store the database name used by the current user in the DBNameContextFilter (BaseController.__call__): Reset the database name again after the request. 2011-07-20 Bernhard Herzog * mpulsweb/lib/logfilter.py (DBNameContextFilter): Rework how the database name is determined. Using getDbName is problematic, since it may use the logging framework itself. Now, the DBNameContextFilter class provides a way to set the database name on a per thread basis. The database name can be set by the base controller at the beginning of a request and reset after a request has finished. The DBNameContextFilter can retrieve the name without causing recursive calls to the logging system. See the doc-string for details. Also, the database name is now stored in the record in the attribute mpuls_dbname to make potential name conflicts less likely. 2011-07-20 Ludwig Reiter * mpulsweb/lib/logfilter.py: Issue2009: Improvement to the mechanism which creates a handler with filter. Now filtered_handler with basehandler and the arguments must be called as class. So it is possible to config different handlers. 2011-07-19 Ludwig Reiter * mpulsweb/lib/logfilter.py: Issue 2009: Added support for logging with the name of the database. A configuration of the ini file is needed, if this feature should be used. ( Use the class DBNameHandler as handler to add the filter to the handler and add "%(dbname)s" to the default formatter to display the dbname.) The get db name method used by the filter is not optimal at the moment. 2011-07-19 Torsten Irländer * mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako: Issue 2262: Changed dialog for half automatic phase change. Removed infotext to print out the case for the client. This hint is shown after the phase has been changed. * mpulsweb/templates/phase/dialogs/success_set_phase.mako: Issue2262: Changed layout of phase-change dialog. In phase of halfautomatic change show additional link to continue editing the case. 2011-07-18 Roland Geider * mpulsweb/templates/search/search.mako: issue1627: don't show the text search if there are no fields marked as 'search_match' 2011-07-14 Roland Geider * mpulsweb/model/agencysettings.py, mpulsweb/controllers/settings.py: issue2252: manually convert 'on'/'off' values to boolean to avoid problems with htmlfill 2011-07-14 Torsten Irländer * mpulsweb/lib/translation.py: Added new function "N_" for null-translations. 2011-07-07 Bernhard Herzog * mpulsweb/lib/security.py (get_dbname_from_session) (store_dbname_in_session): Use MPULS_UNMAPPED_DBAGENCY as the key in the session instead of DB_NAME_FROM_LIST. The new name describes the meaning better and better fits the (new) function names. 2011-07-07 Bernhard Herzog * mpulsweb/lib/security.py (get_dbname_from_list) (get_dbname_from_session): Rename get_dbname_from_list to get_dbname_from_session to make it clearer what the function does. The db name in this case does not always come from an option list from an HTML form, for instance it doesn't in the AiR meta API. (get_unmapped_db_name): Adapt to rename. (store_dbname_in_session): Adapt doc-string to rename 2011-07-07 Bernhard Herzog * mpulsweb/controllers/auth.py (AuthController.loginAction): Use store_dbname_in_session so store the db name selected by the user in the session instead of accessing the session directly. 2011-07-07 Torsten Irländer * mpulsweb/lib/config.py: Added new config var "create" to enable and disable creation of new cases. Defaults to enabled. * mpulsweb/templates/main.mako: Show create link fr new cases depending on new config var "create" of case-module. 2011-07-06 Bernhard Herzog * mpulsweb/lib/security.py (store_dbname_in_session): New. Store the db name in the session to be used later via get_dbname_from_list. This provides a more abstract interface than storing it in the session directly and will be useful for the meta server. 2011-07-05 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.merge_dict): Removed. It's not used anywhere in base or any of the mpuls applications. 2011-07-01 Bernhard Herzog * mpulsweb/model/case.py (Field): Fix typo in doc-string. 2011-07-01 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseFactory.loadById): Log the query before it's executed instead of afterwards, so that the query string has been logged even if the execution fails because of e.g. a syntax error in the query. 2011-06-24 Bernhard Herzog * contrib/scripts/cleanup-session-cache: New. Script to be used as a cron-job on the web-application system to clean up the beaker cache. It removes session files that are older than 1 day. 2011-06-24 Torsten Irländer * mpulsweb/lib/validators.py: Issue1972: Return default time object (00:00) if no time is defined. 2011-06-23 Bernhard Herzog * mpulsweb/lib/security.py (checkLogin): Do not use ensure_unicode anymore, because we don't need it anymore. The database has been returning unicode objects for quite a while now. 2011-06-22 Torsten Irländer * mpulsweb/controllers/case_bundle.py: Issue2005: Build caselist based on fields viewable in overview instead of hardcoded "first and lastname". 2011-06-22 Bernhard Herzog * mpulsweb/lib/db.py (DB.getConnection): Fix typos in comment. 2011-06-15 Roland Geider * mpulsweb/public/styles/all.css: issue2192: align the phase buttons vertically to the bottom 2011-06-14 Frank Koormann * mpulsweb/templates/documents/case_overview.mako, mpulsweb/templates/documents/global_overview.mako: Brought both document lists in line: Use hover and compact alternating rendering. 2011-06-06 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/controllers/administration.py: Issue2181: Changed another wrong inline moved msg.(administration) 2011-06-06 Ludwig Reiter * mpulsweb/controllers/appointment.py: Issue2181: Changed a wrong inline moved msg. 2011-06-03 Ludwig Reiter * mpulsweb/controllers/logbook.py, mpulsweb/controllers/repeatgroup.py, mpulsweb/controllers/usersettings.py, mpulsweb/controllers/settings.py, mpulsweb/controllers/news.py: Issue1005: Move translated msgs inline. 2011-06-03 Ludwig Reiter * mpulsweb/controllers/evaluation_overview.py, mpulsweb/controllers/document.py: Issue1005: Move translated msgs inline. 2011-06-03 Ludwig Reiter * mpulsweb/controllers/case_bundle.py, mpulsweb/controllers/casedocument.py, mpulsweb/controllers/case.py: Issue1005: Move translated msgs inline. 2011-06-03 Ludwig Reiter * mpulsweb/controllers/annotations.py, mpulsweb/controllers/appointment.py: Issue1005: Move translated msgs inline. 2011-06-03 Ludwig Reiter * mpulsweb/controllers/administration.py: Issue1005: Move translated msgs inline. 2011-06-03 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/controllers/privacy.py: Issue1005: Remove imports of translation msgs and change the msgs to inline. 2011-06-01 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/controllers/caseappointment.py: Issue1005: Removed import of DELETE_APPOINT_NOTIFICATION_SUCCESS, DELETE_APPOINT_NOTIFICATION_TEXT_SUCCESS, DELETE_APPOINT_CONFIRM, DELETE_APPOINT_CONFIRM_TEXT, CREATE_APPOINT_NOTIFICATION_SUCCESS, CREATE_APPOINT_NOTIFICATION_TEXT_SUCCESS,EDIT_APPOINT_NOTIFICATION_SUCCESS, EDIT_APPOINT_NOTIFICATION_TEXT_SUCCESS. These messages are now inline. 2011-06-01 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/casemanagement/showAppointment.mako: Issue882: Changed button text, so that the text fits the action. 2011-06-01 Roland Geider * mpulsweb/templates/casemanagement/upload.mako: don't escape the text 2011-05-31 Ludwig Reiter * mpulsweb/model/appointment.py: Issue1972: 2 new cases for event date/times are handled: "only enddate", "only endtime". This improves the create event dialog. 2011-05-31 Ludwig Reiter * mpulsweb/templates/home/remindlist.mako: Issue882: Different behaviour of reminders and automatic reminders. Reminders are shown with just a show button and this button opens the reminder. Old icon is used, because of the missing refresh icon the reminders can be differentiated. 2011-05-27 Ludwig Reiter * mpulsweb/lib/validators.py: Issue1972: Revert of the Patch of the 2011-05-27. The old behavior is used. 2011-05-27 Torsten Irländer * mpulsweb/templates/casemanagement/digest.mako: Issue1913: Added ID of case to the digest. Fixed update. 2011-05-26 Torsten Irländer * mpulsweb/model/phase.py: Added new Exception which can be used for checks if cases in a certain phase can be anonymized. * mpulsweb/model/case.py: Raise different exception id anonymisation is not allowed in the current phase. * mpulsweb/controllers/privacy.py: Depending on the Exception return a differen error dialog. 2011-05-27 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/model/appointment.py, mpulsweb/controllers/mpuls.py, mpulsweb/templates/home/remindlist.mako, mpulsweb/templates/home/home.mako: Issue882: Renamed automatic reminders to reminders. Automatic reminders now have type 2. We want to have different types, so we can show a different icon for each type. Merged the case reminders into the reminders overview, so all reminders are displayed in one table. 2011-05-27 Ludwig Reiter * mpulsweb/model/case.py, mpulsweb/controllers/case_bundle.py: Issue1124: Changed the set standin handling to match the default behavior of the application. All groups are shown in the standin set dialog. For every case the editor user gid is removed from the standin ids in the setStandin method. So the editor of a case cannot be a standin of that case. If no case is modified, the default empty caselist dialog is shown. 2011-05-25 Ludwig Reiter * mpulsweb/controllers/case_bundle.py: Issue655: added a warning text to the delete case dialog of the admin. The admin should be sure that he deletes from the server. 2011-05-25 Ludwig Reiter * mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako, mpulsweb/templates/phase/dialogs/success_set_phase.mako: Issue1529: After setting of a new phase the case navigation should be on the left side. So I changed the inherited files in these dialogs. 2011-05-25 Ludwig Reiter * mpulsweb/lib/validators.py: Start/end/date/time should not be empty and no defaults are choosen, because the defaults were confusing. 2011-05-24 Ludwig Reiter * mpulsweb/controllers/case_bundle.py, mpulsweb/templates/casebundle/standin.mako: Remove the case editor groups from the choose standin list. And add "no data found" to the standin dialog in no groups found case. Issue 1124. 2011-05-24 Ludwig Reiter * mpulsweb/templates/administration/overview_user.mako: Issue1920: Another small fix. 2011-05-24 Ludwig Reiter * mpulsweb/model/user.py(setUser): Issue1919: Removed a dysfunctional control statement. 2011-05-24 Bernhard Herzog * mpulsweb/templates/evaluation/evaluate.mako: Use disable instead of readonly to gray out options. readonly only works for text input elements. Last part of the fix for mpuls/issue1744 2011-05-24 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Make sure to the correct predefined options for adele evaluations. Fixes part of mpuls/issue1744 2011-05-24 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_default_adele_options): New. Like get_default_options, but for "adele" evaluations. (EvaluateController.evaluate): Rework how the various option sources are combined into one set of options. In particular, the case of "adele" evaluations has to be changed, so that the predefined defaults (and not just the phase) are always used, regardless of what the user has used earlier for other evaluations. Fixes part of mpuls/issue1744 2011-05-24 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_common_options): Pass evalconfig as a parameter instead of relying on it being in the c object. This makes the dependency clearer. (EvaluateController.evaluate): Adapt to get_common_options change. 2011-05-24 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options) (get_default_options, get_common_options, get_session_options): Split get_search_options into the separate new functions get_default_options, get_common_options and get_session_options. This will allow more control over which sources of evaluation options to use, which is necessary to make sure the "adele"-evaluations always use the correct parameters. (EvaluateController.evaluate): adapt to get_search_options split. 2011-05-24 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/controllers/case.py: Small translation issues. Don't use newline at end of msgid. Same python format tags in msgid and msgstr. 2011-05-20 Bernhard Herzog * mpulsweb/lib/helpers.py (get_db_selectionlist): Fix check for omitted filter. Strings should never be compared with "is". 2011-05-20 Ludwig Reiter * mpulsweb/templates/administration/overview_user.mako: Issue1920: User overview: no dataset found; at 0 users. 2011-05-19 Roland Geider * mpulsweb/public/styles/all.css: issue1705: change the vertical-align of form elements 2011-05-19 Torsten Irländer * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue1865: Changed phrase for formletter export. * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/controllers/case_bundle.py: Issue1865: Changed phrase for formletter export. 2011-05-18 Torsten Irländer * mpulsweb/lib/helpers.py: Added docstring to get_sorted_db_from_selectionlist. Make filtering of selectionlist more robust. Fixed handling of c.filter attribute. * mpulsweb/templates/tags/tags.mako: Fixed Rendering of tag icons in mpuls_s or JMD. use url_for method. * INSTALL: Updated Install notes. Notes are now in german language. 2011-05-16 Torsten Irländer * mpulsweb/lib/helpers.py: Fixed spliting dbname when sorting dblist. * mpulsweb/lib/helpers.py: Added filtering based on a regular expression to the get_db_list. * mpulsweb/templates/auth/login.mako: Call get_sorted_db_from_selectionlist with c.filter (default to ""). 2011-05-12 Torsten Irländer * mpulsweb/public/styles/all.css: Issue2024: Added new style to align logos on loginpage on the top. 2011-05-11 Torsten Irländer * mpulsweb/controllers/case.py: Issue2114: Fixed gettext call. Needs to be ungetext. * mpulsweb/controllers/case_bundle.py: Issue1865: Fixed call of ungettext. * mpulsweb/lib/config.py: Changed label of FKZ to a more general label. 2011-05-10 Torsten Irländer * mpulsweb/public/styles/menu.css: Issue2116: Changed layout of mainMenue entries. 2011-05-09 Torsten Irländer * mpulsweb/templates/info/info.mako: Added developers to infopage * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue2107: Fixed translation. * mpulsweb/lib/config.py: Added new config var to define the icon of a phase * mpulsweb/model/phase.py: New: getIcon function. Try to get the configured icon for a phase. If not set fall back into old behavior and return the first lowercase letter of the description (backward compatibility) * mpulsweb/templates/casemanagement/caselist.mako: Use new getIcon function. * contrib/apache/mpuls.wsgi: Fixed missing import. Fixed varible assignment 2011-05-06 Torsten Irländer * mpulsweb/templates/help/help.mako: Do not escape "common help string" on help page as it might contains links an other html. 2011-05-04 Bernhard Herzog * mpulsweb/templates/phase/phase.mako: When listing the fields required to end a phase, handle the case where a key in the list 'order' returned by getLinks() is not contained in the pages dictionary. This case is handled already in the same way in the duplicated code for the start of a phase earlier in the file. 2011-05-02 Torsten Irländer * mpulsweb/controllers/case.py: Issue2027: Use htmlfill to render page to create a new case. This will make the templte much more easy. The change should not affekt old behavior. Further added a new method _get_validator which can be overwritten to add a custom validator in specific application code. * mpulsweb/controllers/case.py: Issue2027: Use SetDataException on case creation to display errors in input data. * mpulsweb/model/case.py (_updateMasterOnCreate): Reraise exception. Is not handled in controller. * mpulsweb/model/case.py (createNew): Issue2017: If half- or fullautomatic changemode for phases is enabled ttry to set the highest reachable phase on case-creation. 2011-04-29 Roland Geider * mpulsweb/public/styles/all.css, mpulsweb/public/styles/print.css, mpulsweb/public/styles/screen.css, mpulsweb/public/styles/color3.css, mpulsweb/public/styles/ie6.css, mpulsweb/public/styles/ie7.css, mpulsweb/public/styles/menu.css, mpulsweb/public/styles/ie8.css, mpulsweb/public/styles/widgets.css: issue1853: Cleaned up CSS files 2011-04-29 Roland Geider * mpulsweb/templates/error/error.mako: Escape
with h.literal 2011-04-19 Torsten Irländer * mpulsweb/model/phase.py: Issue2056: Check for every field where it is located. Depending on location build correct link for the phases overview to open the correct page. TODO: This is a quickfix. I think the real reason might be in the libformed returning the wrong identifier. 2011-04-15 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Do not import pylons.h. Use mpulsweb.lib.helpers instead which is already being imported here. (FormularpageController._handle_automatic_phase_change): Adapt to import changes. 2011-04-15 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options) (EvaluateController._get_evalparams): Add doc-strings. 2011-04-15 Bernhard Herzog Remove the id_field form parameter to avoid SQL injections. Fixes the rest of mpuls/issue1961 The solution analogous to the handling of sql_where. After a search, the value is stored in the session under the key 'id_field_candidate'. If cases/agencies are marked for evaluation the value is copied in the session to the key 'id_field'. The same limitation with multiple overlapping searches as with sql_where applies here, too. * mpulsweb/controllers/evaluation_overview.py (EvaluationOverviewController.overview): Save the id field name in the session under the key 'id_field_candidate. (EvaluationOverviewController.bundleAction): Copy id_field_candidate to id_field in the session data. * mpulsweb/controllers/case_overview.py (CaseOverviewController._renderOverview): Save id_field_candidate in the session. * mpulsweb/controllers/evaluate.py (get_search_options): emove parameter id_field. That parameter is not a form parameter anymore. (EvaluateController.evaluate): Adapt to get_search_options changes. (EvaluateController._get_evalparams): Add parameter id_field. That parameter is not in the form_result, but is part of the parameters that will be passed to libmpuls, so it needs to be passed separately. (EvaluateController.evaluateAction): Pass id_field taken from the session data to _get_evalparams. * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Copy id_field_candidate to id_field in the session data. * mpulsweb/lib/validators.py (EvaluationFormValidator.id_field) (BundleActionForm.id_field): Removed. Not used anymore. * mpulsweb/templates/evaluation/overview.mako, mpulsweb/templates/evaluation/evaluate.mako: Remove hidden parameter id_field 2011-04-15 Bernhard Herzog Remove the sql_where form parameter to avoid SQL injections. Fixes part of mpuls/issue1961 The solution is to store the sql_where text in the session. This requires two keys in the session, one to remember the where clause from the last search (key 'sql_where_candidate') and another to store that candidate value when the user selects the 'Evaluate' action on the overview page (key 'sql_where'). This is needed to make sure that the value is kept even if the user performs another search between the 'Evaluate' action and starting an evaluation. If the user performs two searches in parallel, e.g. on two different tabs in the browser, the evalaute Action may end up storing the wrong sql_where value, but we can have to live with that as it's not a recommended way to work with mpuls anyway. * mpulsweb/controllers/evaluation_overview.py (EvaluationOverviewController.overview): Save the SQL where expression used in the session under the key 'sql_where_candidate'. (EvaluationOverviewController.bundleAction): Copy sql_where_candidate to sql_where in the session data. * mpulsweb/controllers/evaluate.py (get_search_options): Remove parameter sql_where. That parameter is not a form parameter anymore. (EvaluateController.evaluate): Adapt to get_search_options change. (EvaluateController._get_evalparams): Add parameter sql_where. That parameter is not in the form_result, but is part of the parameters that will be passed to libmpuls, so it needs to be passed separately. (EvaluateController.evaluateAction): Pass sql_where taken from the session data. Also, revert the temporary solution from r4814 for the SQL-injection problem as it's not necessary anymore, and was far too strict anyway. * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Copy sql_where_candidate to sql_where in the session data. * mpulsweb/lib/validators.py (EvaluationFormValidator.sql_where) (BundleActionForm.sql_where): Removed. Not used anymore. * mpulsweb/templates/evaluation/overview.mako, mpulsweb/templates/evaluation/evaluate.mako: Remove hidden input field sql_where. It's not used anymore. 2011-04-15 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Fix formatting. 2011-04-15 Bernhard Herzog * mpulsweb/lib/validators.py (EvaluationFormValidator.selected_ids): Add from_python converter. We already have the to_python converter here and by moving the corresponding from_python converter here we have all the code that converts the ids between a list of ints and string in one place. * mpulsweb/controllers/evaluate.py (get_search_options): Use selected_ids as is. The conversion to string is done by the EvaluationFormValidator. 2011-04-15 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Remove some redundant assignments. They code used to perform a type conversion (date to formatted string), but the conversion was removed in r3952, leaving the assignments. 2011-04-15 Bernhard Herzog * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): The session entry 'CASE_OVERVIEW_SELECTION' is not used anywhere anymore, neither in mpulsweb nor in any of the current applications. So, do not assign to it when resetting. 2011-04-15 Torsten Irlaender * mpulsweb/controllers/case.py (_add_custom_fields): New function. This function should be overwritten in specific applications to add customs data to the new created case like agency name oder agency number. * mpulsweb/controllers/case.py (newAction): Call _add_custom_fields to add custom fields when creating a new case. * mpulsweb/model/phase.py (getLinks): Issue2019: Fixed ordering of pages in phase overview. Ordering is now based on appereance of pages in formedtree insted of lexical sorting. 2011-04-11 Torsten Irlaender * mpulsweb/public/styles/all.css: Added ".invisible" classe to set dislay = None for all elements. * mpulsweb/templates/administration/edit_user.mako: Issue1906: Hide option to reset the password for the admins own account. * mpulsweb/lib/validators.py: Issue1924: Fixed IE6 specific code which leads to TB in Firefox when trying to overwrite a nonexisting file. 2011-04-08 Björn Ricks * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Update template of deployment.ini for logging in wsgi environments especially mod_wsgi 2011-04-08 Björn Ricks * contrib/apache/mpuls.wsgi: Insert statement to read the config for logging in mod_wsgi. Also add an example to run an application in a virtual python environment. 2011-04-07 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.getSubject) (MpulsCase.get_subject): Rename getSubject to get_subject to make the name conform to mpuls conventions. * mpulsweb/controllers/caseappointment.py (CaseappointmentController.newReminder): Adapt to MpulsCase.getSubject -> MpulsCase.get_subject renaming. This is the only place where the method is called at the moment anywhere in the mpuls code base (base and all applications). 2011-04-07 Bernhard Herzog Fix mpuls/issue1977: use unicode, not str, in MpulsCase.getSubject * mpulsweb/model/case.py (MpulsCase.getSubject): Convert the values using unicode instead of str. str cannot handle non-ASCII characters. 2011-04-06 Ludwig Reiter * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Use right l10n for quoted umlauts. 2011-04-06 Torsten Irlaender * mpulsweb/public/styles/screen.css: Issue1999: Improved layout of info and help pages. * mpulsweb/public/styles/screen.css: Issue2000: Allow larger application logos. * mpulsweb/public/styles/screen.css: Issue1771: Links with class "button" now looks even more like regular formular-buttons. * mpulsweb/public/styles/screen.css: Fixed layout of pages in case the header is displayed in two lines. * mpulsweb/templates/administration/new_user_result.mako, mpulsweb/templates/administration/new_user.mako: Issue1929: Show correct rolenames when creating new users. 2011-04-05 Torsten Irlaender * mpulsweb/model/case.py, mpulsweb/controllers/case_bundle.py, mpulsweb/controllers/case.py, mpulsweb/lib/export.py: Implemented serial letters according to MEP-1. Export now always includes all defined fields in the defined order (specified by sql query). * mpulsweb/model/case.py (MpulsCase.formletter): Improved formletterfunction. No need for parsing sql anymore. 2011-03-31 Ludwig Reiter * mpulsweb/model/appointment.py mpulsweb/lib/security.py: Bugfix: added import of gettext function. 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/dialogs/success_set_phase.mako: I18n of the success_set_phase.mako (part 2) 2011-03-31 Ludwig Reiter * mpulsweb/controllers/case.py: Bugfix of the case.py dialog. 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/lib/security.py: I18n of security.py 2011-03-31 Ludwig Reiter * mpulsweb/model/appointment.py: Small bugfix of the appointment.py 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/controllers/case.py: I18n of the case.py controller 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/model/appointment.py: I18n of the appointment.py dialog 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/search/search.mako: I18n of the search.mako dialog 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako: I18n of the success_halfautomatic_set_phase.mako dialog 2011-03-31 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/dialogs/success_set_phase.mako: I18n of the success_set_phase.mako (part 1) 2011-03-30 Torsten Irlaender * mpulsweb/controllers/case_overview.py (CaseOverviewController._renderOverview): Fixed filtering of evaluation action in case search was done with search criteria for editors. 2011-03-30 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/model/case.py: The l10n of the case.py moved into the methods, so that the translation is done with existing request. Small bugfix. 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/model/case.py: L10n of some labels of case.py 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/main.mako: L10n of some labels of the main.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/auth/main.mako: L10n of the formular_labels of the main.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/phase.mako: L10n of a label from the phase.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/usersettings/change_password.mako: L10n of some labels of the change_password.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/logbook/edit_body.mako: L10n of some labels of the edit_body.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/logbook/new.mako: L10n of the formular_labels of the new.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/new_user.mako: L10n of the formular_labels of the new_user.mako dialog 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/new_usergroup.mako: L10n of the formular_labels of the new_usergroup.mako dialog. 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/edit_user.mako: L10n of the formular_labels of the edit_user.mako dialog. 2011-03-29 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/new.mako: L10n of the formular_labels of the new.mako dialog. 2011-03-28 Roland Geider * mpulsweb/controllers/evaluate.py: issue1961: comment code allowing for SQL injection 2011-03-21 Roland Geider * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: issue1943: open print version of privacy statement in new window 2011-03-18 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/controllers/case.py: L10n of untranslated parts (case.py part 2) 2011-03-18 Ludwig Reiter * mpulsweb/controllers/case.py: Fix of broken umlauts thru last commit. 2011-03-17 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/controllers/case.py: L10n of untranslated parts (case.py part 1) 2011-03-16 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: issue1928: change translation. Updated missing translations. 2011-03-11 Torsten Irländer * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Updated default ini file * development.ini: Updated development.ini * mpulsweb/lib/config.py: Set default options for logbook, descriptions, categories and types. Need to be able to run the base-application with default types and categories. 2011-03-10 Roland Geider * mpulsweb/templates/search/search.mako: issue1911: use wider colunmns 2011-03-09 Torsten Irlaender * contrib/apache/mpuls.wsgi: Updated wsgi-script * contrib/apache/apache-site-wsgi.conf: Updated apache-config * contrib/apache/check_connection.wsgi: New. WSGI-app to check online status of db. 2011-03-08 Torsten Irlaender * mpulsweb/templates/appointments/edit.mako, mpulsweb/templates/casemanagement/newAppointment.mako: Issue1865: Fixed translation. * mpulsweb/model/case.py (MpulsCase.formletter): Issue1915: Fixed generating formletter. Do not stop if one of the querys gives no result. Continue with next query. 2011-03-04 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/casemanagement/new.mako mpulsweb/templates/casemanagement/digest.mako mpulsweb/templates/casemanagement/upload.mako: Translation of not translated strings from the dialogs (part 9) 2011-03-04 Roland Geider * mpulsweb/public/styles/all.css: issue1404: use black for the "save" and "save and continue" buttons in the form 2011-03-04 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/casemanagement/overview.mako: Translation of not translated strings from the dialogs (part 8) 2011-03-03 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Translation of not translated strings from the dialogs (part 7) 2011-03-03 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/evaluation/evaluate.mako mpulsweb/templates/evaluation/overview.mako: Translation of not translated strings from the dialogs (part 6) 2011-03-03 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/casebundle/dialogs/error.mako mpulsweb/templates/casebundle/standin.mako: Translation of not translated strings from the dialogs (part 5) 2011-03-03 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/documents/case_new.mako mpulsweb/templates/documents/global_upload.mako mpulsweb/templates/auth/main.mako: Translation of not translated strings from the dialogs (part 4) 2011-03-03 Torsten Irlaender * mpulsweb/templates/casemanagement/digest.mako: Show reminder if days to MaxSaveTime is <= 0 * mpulsweb/model/case.py (MpulsCaseState.daysToMaxSavetime): Fixed returning daysToMaxSavetime. * mpulsweb/templates/casemanagement/caselist.mako: Issue1900: Fixed layout of caselist. 2011-03-02 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/logbook/new.mako mpulsweb/templates/logbook/show.mako mpulsweb/templates/logbook/edit_body.mako mpulsweb/templates/logbook/overview_print.mako mpulsweb/templates/logbook/evaluation_typ.mako mpulsweb/templates/logbook/edit.mako mpulsweb/templates/logbook/overview.mako mpulsweb/templates/logbook/evaluation.mako mpulsweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako mpulsweb/templates/usersettings/change_password.mako mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako: Translation of untranslated strings (part 3) 2011-03-02 Torsten Irlaender * mpulsweb/model/appointment.py: Fixed formatting of SQL-querys * mpulsweb/lib/config.py: Issue1878: Set default values for minimal anonymization condition to "0" instead of "FALSE". FALSE evaluates to "TRUE" in libformed rule expressions. 2011-03-02 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/reset_password.mako mpulsweb/templates/home/globalappointmentlist.mako mpulsweb/templates/error/error.mako mpulsweb/templates/logbook/dialogs/confirm_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_save_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_show_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_save_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_create_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_create_logbook_entry.mako: Translation untranslated strings (part 2) 2011-03-02 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/new.mako mpulsweb/templates/appointments/show_body.mako mpulsweb/templates/appointments/edit_body.mako mpulsweb/templates/appointments/overview_body.mako mpulsweb/templates/appointments/remindlist_body.mako mpulsweb/templates/dialogs/confirm.mako mpulsweb/templates/dialogs/failed.mako mpulsweb/templates/dialogs/notification.mako mpulsweb/templates/dialogs/success.mako: Translation untranslated strings (part 1) 2011-03-02 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/auth/login.mako: Issue1882: Changed the login button back to "Anmelden". 2011-03-01 Torsten Irlaender * mpulsweb/model/case.py (MpulsCase.getSubject): Issue1874: Added new function which returns a short string to identify the case. * mpulsweb/controllers/caseappointment.py (CaseappointmentController.newReminder): Issue1874: Call new function "getSubject" instead hardcode idetifier of the case for reminders. * mpulsweb/model/appointment.py: Issue1875: Moved modul-wide defined SQL statements into classes as class-attributes to make them better overridable. 2011-03-01 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/usersettings/edit_standin.mako mpulsweb/templates/settings/show.mako mpulsweb/templates/documents/dialogs/delete_document_success.mako mpulsweb/templates/casemanagement/new.mako mpulsweb/templates/casemanagement/organisation.mako mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: Update of the msgids (part 18) 2011-02-28 Torsten Irlaender * mpulsweb/templates/casemanagement/caselist.mako: Issue1533: Fixed issue with sorting params when showing caselist in delete-user helper. 2011-02-28 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/usersettings/change_password_login.mako mpulsweb/templates/usersettings/show_settings.mako mpulsweb/templates/usersettings/edit_standin.mako mpulsweb/templates/usersettings/change_password.mako: Update of the msgids (part 17) 2011-02-28 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/dialogs/confirm.mako mpulsweb/templates/dialogs/failed.mako mpulsweb/templates/dialogs/notification.mako mpulsweb/templates/dialogs/success.mako mpulsweb/templates/formularpage/formular.mako mpulsweb/templates/help/help.mako mpulsweb/templates/home/remindlist.mako mpulsweb/templates/home/home.mako mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako mpulsweb/templates/phase/phase.mako mpulsweb/templates/settings/edit.mako mpulsweb/templates/documents/dialogs/success_documents.mako mpulsweb/templates/documents/dialogs/failed_attachment.mako mpulsweb/templates/documents/dialogs/confirm.mako mpulsweb/templates/documents/dialogs/success_attachment.mako mpulsweb/templates/documents/dialogs/failed_document.mako mpulsweb/templates/documents/dialogs/delete_document_success.mako mpulsweb/templates/documents/case_overview.mako mpulsweb/templates/documents/case_new.mako mpulsweb/templates/documents/global_upload.mako mpulsweb/templates/documents/global_overview.mako mpulsweb/templates/search/search.mako mpulsweb/templates/casemanagement/organisation.mako mpulsweb/templates/privacy/edit_statement.mako mpulsweb/templates/privacy/dialogs/missing_statement_body.mako mpulsweb/templates/privacy/dialogs/decline_success.mako mpulsweb/templates/privacy/dialogs/confirm.mako mpulsweb/templates/privacy/dialogs/accept_success.mako mpulsweb/templates/privacy/dialogs/decline_failed.mako mpulsweb/templates/privacy/list_statements.mako: Update of the msgids (part 16) 2011-02-28 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/documents/dialogs/failed_attachment.mako mpulsweb/templates/documents/dialogs/success_attachment.mako mpulsweb/templates/documents/dialogs/delete_attachment_success.mako mpulsweb/templates/documents/case_overview.mako mpulsweb/templates/documents/case_new.mako mpulsweb/templates/evaluation/overview.mako mpulsweb/templates/casemanagement/new.mako mpulsweb/templates/casemanagement/dialogs/confirm.mako mpulsweb/templates/casemanagement/dialogs/confirm_export.mako mpulsweb/templates/casemanagement/dialogs/confirm_restore.mako mpulsweb/templates/casemanagement/dialogs/success_copy.mako mpulsweb/templates/casemanagement/dialogs/success_delete_attachment.mako mpulsweb/templates/casemanagement/dialogs/success_keepactive.mako mpulsweb/templates/casemanagement/dialogs/success_export.mako mpulsweb/templates/casemanagement/dialogs/success_restore.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete_attachment.mako mpulsweb/templates/casemanagement/dialogs/confirm_copy.mako mpulsweb/templates/casemanagement/organisation.mako mpulsweb/templates/casemanagement/showAppointment.mako mpulsweb/templates/casemanagement/overview.mako mpulsweb/templates/casemanagement/upload.mako: Update of the msgids (part 15) 2011-02-28 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/formularpage/formular.mako mpulsweb/templates/statements/list.mako mpulsweb/templates/statements/statements.mako mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako mpulsweb/templates/phase/dialogs/success_set_phase.mako mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako mpulsweb/templates/phase/phase.mako mpulsweb/templates/casemanagement/digest.mako mpulsweb/templates/casemanagement/main.mako: Update of the msgids (part 14) 2011-02-25 Torsten Irlaender * mpulsweb/lib/search.py (EvaluationSearch.get_federalstate_clause): Fixed federal-state clause * mpulsweb/lib/config.py: Added Keyword "RELEASEDATE, REVISION" to config. Can be substituted in setup process. 2011-02-25 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/formularpage/formular.mako mpulsweb/templates/statements/list.mako mpulsweb/templates/logbook/new.mako mpulsweb/templates/logbook/dialogs/confirm_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_save_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_show_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_save_logbook_entry.mako mpulsweb/templates/logbook/dialogs/failed_create_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_delete_logbook_entry.mako mpulsweb/templates/logbook/dialogs/success_create_logbook_entry.mako mpulsweb/templates/logbook/show.mako mpulsweb/templates/logbook/overview_print.mako mpulsweb/templates/logbook/edit.mako mpulsweb/templates/logbook/overview.mako mpulsweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako mpulsweb/templates/tags/tags.mako mpulsweb/templates/phase/dialogs/success_set_phase.mako mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako mpulsweb/templates/phase/phase.mako mpulsweb/templates/documents/dialogs/failed_attachment.mako mpulsweb/templates/documents/dialogs/delete_attachment_success.mako mpulsweb/templates/documents/case_overview.mako mpulsweb/templates/documents/case_new.mako mpulsweb/templates/auth/logout.mako mpulsweb/templates/casebundle/dialogs/success_anonymize.mako mpulsweb/templates/casebundle/dialogs/success_delete_admin.mako mpulsweb/templates/casebundle/dialogs/success_markdelete.mako mpulsweb/templates/casebundle/dialogs/confirm_anonymize.mako mpulsweb/templates/casebundle/dialogs/success_standin.mako mpulsweb/templates/casebundle/standin.mako mpulsweb/templates/casemanagement/dialogs/success_delete.mako mpulsweb/templates/casemanagement/dialogs/success_edit_appointment.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako mpulsweb/templates/casemanagement/dialogs/confirm_markanonymize.mako mpulsweb/templates/casemanagement/dialogs/success_anonymize.mako mpulsweb/templates/casemanagement/dialogs/success_delete_attachment.mako mpulsweb/templates/casemanagement/dialogs/success_copy.mako mpulsweb/templates/casemanagement/dialogs/success_delete_appointment.mako mpulsweb/templates/casemanagement/dialogs/success_delete_cm.mako mpulsweb/templates/casemanagement/dialogs/success_create_appointment.mako mpulsweb/templates/casemanagement/dialogs/success_markanonymize.mako mpulsweb/templates/casemanagement/dialogs/confirm_anonymize.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete_attachment.mako mpulsweb/templates/casemanagement/dialogs/confirm_copy.mako mpulsweb/templates/casemanagement/dialogs/failed_markanonymize.mako mpulsweb/templates/casemanagement/organisation.mako mpulsweb/templates/casemanagement/showAppointment.mako mpulsweb/templates/casemanagement/editAppointment.mako mpulsweb/templates/casemanagement/overview.mako mpulsweb/templates/casemanagement/caselist.mako mpulsweb/templates/casemanagement/newAppointment.mako mpulsweb/templates/casemanagement/digest.mako mpulsweb/templates/casemanagement/appointments.mako mpulsweb/templates/casemanagement/main.mako mpulsweb/templates/privacy/edit_statement.mako mpulsweb/templates/privacy/dialogs/decline_success.mako mpulsweb/templates/privacy/dialogs/confirm.mako mpulsweb/templates/privacy/dialogs/missing_statement.mako mpulsweb/templates/privacy/dialogs/accept_success.mako mpulsweb/templates/privacy/dialogs/decline_failed.mako mpulsweb/templates/privacy/list_statements.mako: Update of the msgids (part 13) 2011-02-24 Torsten Irlaender * mpulsweb/lib/search.py (EvaluationSearch.get_group): Fixed Search-Query. bundesland_id must be present in result as it is used in evaluation later. 2011-02-24 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako mpulsweb/templates/phase/phase.mako mpulsweb/templates/auth/account_deactivated.mako mpulsweb/templates/auth/logout.mako mpulsweb/templates/auth/main.mako mpulsweb/templates/auth/login.mako mpulsweb/templates/casebundle/dialogs/error.mako mpulsweb/templates/casebundle/dialogs/success_markevaluate.mako mpulsweb/templates/casebundle/dialogs/download_formletter.mako mpulsweb/templates/casebundle/dialogs/success_editor.mako mpulsweb/templates/casebundle/dialogs/success_anonymize.mako mpulsweb/templates/casebundle/dialogs/success_delete_admin.mako mpulsweb/templates/casebundle/dialogs/success_markdelete.mako mpulsweb/templates/casebundle/dialogs/confirm_anonymize.mako mpulsweb/templates/casebundle/dialogs/success_standin.mako mpulsweb/templates/casebundle/standin.mako mpulsweb/templates/casebundle/editor.mako mpulsweb/templates/casemanagement/new.mako mpulsweb/templates/casemanagement/dialogs/success_delete.mako mpulsweb/templates/casemanagement/dialogs/confirm.mako mpulsweb/templates/casemanagement/dialogs/confirm_export.mako mpulsweb/templates/casemanagement/dialogs/confirm_restore.mako mpulsweb/templates/casemanagement/dialogs/success_delete_attachment.mako mpulsweb/templates/casemanagement/dialogs/success_keepactive.mako mpulsweb/templates/casemanagement/dialogs/success_delete_cm.mako mpulsweb/templates/casemanagement/dialogs/success_export.mako mpulsweb/templates/casemanagement/dialogs/success_restore.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete.mako mpulsweb/templates/casemanagement/organisation.mako mpulsweb/templates/casemanagement/overview.mako mpulsweb/templates/casemanagement/main.mako mpulsweb/templates/casemanagement/upload.mako mpulsweb/templates/privacy/dialogs/missing_statement.mako: Update of the msgids (part 12) 2011-02-23 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/new.mako mpulsweb/templates/appointments/show_body.mako mpulsweb/templates/appointments/show.mako mpulsweb/templates/appointments/overview_body.mako mpulsweb/templates/appointments/overview.mako mpulsweb/templates/appointments/remindlist_body.mako mpulsweb/templates/administration/show_usergroup.mako mpulsweb/templates/home/globalappointmentlist.mako mpulsweb/templates/logbook/overview.mako mpulsweb/templates/casemanagement/showAppointment.mako mpulsweb/templates/casemanagement/editAppointment.mako mpulsweb/templates/casemanagement/newAppointment.mako mpulsweb/templates/casemanagement/appointments.mako: Update of the msgids (part 11) 2011-02-23 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/show_user.mako mpulsweb/templates/administration/overview_user.mako mpulsweb/templates/administration/overview_usergroups.mako mpulsweb/templates/administration/reset_password.mako mpulsweb/templates/evaluation/agencylist.mako mpulsweb/templates/casemanagement/caselist.mako: Update of the msgids (part 10) 2011-02-23 Ludwig Reiter * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Removed some wrong fuzzy tags. 2011-02-23 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/appointmentlist.mako mpulsweb/templates/appointments/dialogs/success_edit_appointment.mako mpulsweb/templates/appointments/dialogs/confirm.mako mpulsweb/templates/appointments/dialogs/success_delete_appointment.mako mpulsweb/templates/appointments/show_body.mako mpulsweb/templates/appointments/edit_body.mako mpulsweb/templates/appointments/edit.mako mpulsweb/templates/administration/overview_user.mako mpulsweb/templates/administration/overview_usergroups.mako mpulsweb/templates/home/remindlist.mako mpulsweb/templates/home/globalappointmentlist.mako mpulsweb/templates/home/caseappointmentlist.mako mpulsweb/templates/documents/case_overview.mako mpulsweb/templates/documents/global_overview.mako mpulsweb/templates/casemanagement/appointmentlist.mako mpulsweb/templates/casemanagement/dialogs/success_edit_appointment.mako mpulsweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako mpulsweb/templates/casemanagement/dialogs/success_delete_appointment.mako mpulsweb/templates/casemanagement/reminderlist.mako mpulsweb/templates/casemanagement/editAppointment.mako mpulsweb/templates/casemanagement/caselist.mako: Update of the msgids of the dialogs (part 9) 2011-02-21 Bernhard Herzog * mpulsweb/lib/helpers.py (render_logbook_typeoptions): Remove a debug print. 2011-02-21 Bernhard Herzog * mpulsweb/controllers/auth.py: pylons.h is deprecated. Import mpulsweb.lib.helpers as h instead. 2011-02-21 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/new.mako mpulsweb/templates/appointments/dialogs/success_create_appointment.mako mpulsweb/templates/appointments/dialogs/success_edit_appointment.mako mpulsweb/templates/appointments/dialogs/confirm.mako mpulsweb/templates/appointments/dialogs/success_delete_appointment.mako mpulsweb/templates/appointments/show.mako mpulsweb/templates/appointments/edit.mako mpulsweb/templates/appointments/overview.mako mpulsweb/templates/casemanagement/dialogs/success_edit_appointment.mako mpulsweb/templates/casemanagement/dialogs/success_create_appointment.mako mpulsweb/templates/casemanagement/showAppointment.mako mpulsweb/templates/casemanagement/editAppointment.mako mpulsweb/templates/casemanagement/newAppointment.mako mpulsweb/templates/casemanagement/appointments.mako: update of msgids of dialog success_create_appointment.mako 2011-02-21 Torsten Irlaender * mpulsweb/templates/casemanagement/overview.mako: Issue1840: Renamed Export of XLS files to "Als Tabellenkalkulation exportieren". * mpulsweb/templates/casemanagement/main.mako: Issue1831: Only show link to copy a case if the user has CM-role. * mpulsweb/model/case.py (MpulsCase.restore): Issue1831: Check if privacy option is enabled while restoring the case. Only check privacy-statement if option is enabled. 2011-02-18 Torsten Irlaender * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Do not use CaseOverviewForm validator. Reactive get_sort function. * mpulsweb/lib/validators.py (BundleActionForm): Removed CaseOverviewForm validator 2011-02-18 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/show_user_body.mako mpulsweb/templates/administration/show_usergroup.mako mpulsweb/templates/administration/edit_usergroup.mako mpulsweb/templates/administration/edit_user.mako mpulsweb/templates/administration/new_usergroup.mako mpulsweb/templates/administration/new_user_result.mako mpulsweb/templates/administration/new_user.mako mpulsweb/templates/usersettings/change_password_login.mako mpulsweb/templates/usersettings/change_password.mako mpulsweb/templates/settings/show.mako mpulsweb/templates/settings/edit.mako: Update of the msgids(part 7) 2011-02-18 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/administration/delete_user_helper.mako mpulsweb/templates/casebundle/editor.mako mpulsweb/templates/casemanagement/organisation.mako: Update of the msgids (part 6) 2011-02-18 Bernhard Herzog * mpulsweb/templates/administration/reset_password.mako: Make sure the new password is quoted properly. 2011-02-18 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/appointments/dialogs/failed_delete_appointment.mako mpulsweb/templates/administration/show_usergroup.mako mpulsweb/templates/administration/dialogs/confirm_deleteusergroup.mako mpulsweb/templates/administration/dialogs/success_edit_user.mako mpulsweb/templates/administration/dialogs/success_new_usergroup.mako mpulsweb/templates/administration/dialogs/confirm_deleteuser.mako mpulsweb/templates/administration/dialogs/confirm_resetpassword.mako mpulsweb/templates/administration/dialogs/failed_delete_user.mako mpulsweb/templates/administration/dialogs/notificate_delete_user_helper.mako mpulsweb/templates/administration/dialogs/success_deletegroup_user.mako mpulsweb/templates/administration/dialogs/failed_new_usergroup.mako mpulsweb/templates/administration/dialogs/success_delete_user.mako mpulsweb/templates/administration/dialogs/success_edit_usergroup.mako mpulsweb/templates/administration/show_user.mako mpulsweb/templates/administration/delete_user_helper.mako mpulsweb/templates/administration/edit_usergroup.mako mpulsweb/templates/administration/edit_user.mako mpulsweb/templates/administration/new_usergroup.mako mpulsweb/templates/administration/overview_user.mako mpulsweb/templates/administration/overview_usergroups.mako mpulsweb/templates/administration/reset_password.mako mpulsweb/templates/administration/new_user_result.mako mpulsweb/templates/administration/new_user.mako mpulsweb/templates/usersettings/dialogs/notificate_setpassword.mako mpulsweb/templates/settings/dialogs/success_edit.mako mpulsweb/templates/settings/show.mako mpulsweb/templates/settings/edit.mako: Update of msgids (Part 5) 2011-02-17 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/administration/show_usergroup.mako, mpulsweb/templates/administration/show_user.mako, mpulsweb/templates/administration/edit_usergroup.mako, mpulsweb/templates/administration/edit_user.mako, mpulsweb/templates/administration/new_usergroup.mako, mpulsweb/templates/administration/new_user_result.mako, mpulsweb/templates/administration/new_user.mako, mpulsweb/templates/main.mako: Update of msgids (Part 4). 2011-02-17 Ludwig Reiter * mpulsweb.egg-info/SOURCES.txt, mpulsweb.egg-info/PKG-INFO, mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/model/case.py, mpulsweb/templates/appointments/dialogs/confirm.mako, mpulsweb/templates/appointments/dialogs/success_delete_appointment.mako, mpulsweb/templates/usersettings/show_settings.mako, mpulsweb/templates/usersettings/change_password.mako, mpulsweb/templates/base.mako, mpulsweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako, mpulsweb/templates/casemanagement/dialogs/success_delete_appointment.mako, mpulsweb/templates/casemanagement/caselist.mako, mpulsweb/templates/main.mako: Update of msgids (Part 3) 2011-02-17 Ludwig Reiter * mpulsweb/i18n/mpulsweb.pot mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/controllers/usersettings.py mpulsweb/controllers/settings.py: Update of the msgids. (Part 2) 2011-02-17 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/model/document.py: Internationalisation of document.py 2011-02-16 Torsten Irlaender * mpulsweb/lib/config.py: Added new options to display the selection of federal states in search. Defaults to False. Currently only used for evaluation purpose but might be interesting for normal use as well in the future. * mpulsweb/lib/search.py: Added handling of new optione federal_state. In normal case search this will have no effect. In evaluation search the search clause ws enhanced to match on the federal state if it is provided. * mpulsweb/templates/search/search.mako: Display federal state search options if this search option is enabled in configuration. * mpulsweb/lib/validators.py (SearchCaseForm): Added new search param federal_state in validator 2011-02-15 Rolanf Geider * mpulsweb/public/styles/color3.css: Don't highlight the border 2011-02-15 Torsten Irlaender * mpulsweb/lib/validators.py (BundleActionForm): Added new allowed parameters for actions in casebundle (formletter) * mpulsweb/controllers/case_bundle.py (CaseBundleController.formletter): New function in casebundle to build the export for different formletters. Basically show dialog for download. * mpulsweb/controllers/case_bundle.py (CaseBundleController.formletterAction): Finally export data for formletter. * mpulsweb/model/case.py (MpulsCaseBundle.formletter): Added function to export the formletter on casebundles. * mpulsweb/templates/casemanagement/overview.mako: If formletter is enabled show available formletter as action. 2011-02-11 Torsten Irlaender * mpulsweb/lib/config.py: Added config var to define different formletters. * mpulsweb/model/case.py (MpulsCase.formletter): Added new function to model to fetch fields required for a formletter and returns a dictionary which includes all fetched fields as key, value pairs * mpulsweb/lib/export.py: Added new Export classes to export a formletter XLS. * mpulsweb/controllers/case.py (CaseController.formletter): Added new function to export different versions of formletters. Will return a XLS file with defined fields from the database. 2011-02-10 Bernhard Herzog * mpulsweb/lib/formedrenderer.py (ViewRenderer.render_errors) (ViewRenderer.error_info): Implement error_info instead of render_errors to take advantage of libformed revision 351:fd1d201160bb 2011-02-10 Bernhard Herzog * mpulsweb/lib/helper/filters.py (nl_to_br): Removed. Import the identical function from formed.renderer.helpers instead. 2011-02-10 Bernhard Herzog * mpulsweb/lib/helpers.py: Do not import nl_to_br anymore. The last code that used this function through the helpers module was in waska and that has been changed with revision 4607. 2011-02-10 Bernhard Herzog * mpulsweb/lib/renderer.py: Removed. The old renderer is not used anymore. 2011-02-10 Bernhard Herzog * mpulsweb/lib/formedrenderer.py (UrlFactory.icon): Inline the code of the icon function imported from the old renderer module. That function was not used anywhere else anyway. 2011-02-10 Bernhard Herzog * mpulsweb/lib/helpers.py (PRINTABLE): Removed. Not used anywhere in mpulsweb or the current applications anymore. 2011-02-10 Bernhard Herzog * mpulsweb/lib/helpers.py: Remove imports that are not used in helpers or accessed by the code that uses the helpers module: sys, quoteattr, c, cache, response, HTML, PageNode 2011-02-10 Bernhard Herzog * mpulsweb/lib/helpers.py (tag): Removed. It's now implemented in formed. Adapt imports accordingly. There's still code that imports tag from mpulsweb.lib.helpers, though. 2011-02-09 Bernhard Herzog * mpulsweb/controllers/formularpage.py (prepare_htmlfill_defaults): Removed. No longer used. 2011-02-09 Bernhard Herzog Switch to libformed's renderer. Requires libformed > 343:4d20baece0e5 * mpulsweb/lib/formedrenderer.py: New. Customizations of the libformed renderers for the web application. * mpulsweb/controllers/formularpage.py (get_rendered_page): Use the renderers from libformed and formedrenderer.py. As part of this change, htmlfill is not needed anymore here. 2011-02-09 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Remove superfluous assignment to c.formularerrors. It will always be set to a different value later. 2011-02-09 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Simplify the control flow a little by exiting early if the page wasn't found. 2011-02-09 Torsten Irlaender * mpulsweb/controllers/usersettings.py (UsersettingsController.changePasswordAction): Issue1319: "Disable" controller function to set user password to prevent users to be able to set their userpasswords. 2011-02-08 Bernhard Herzog * mpulsweb/templates/casemanagement/new.mako: Remove unused hidden input element "page". 2011-02-08 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController._createCase): Rely on the case factory's support for setting some field values during creation instead of having more or less equivalent code duplicated here. The code in CaseFactory is actually a bit better in that it creates repeat group instances if necessary. This fixes mpuls/issue1779 2011-02-07 Torsten Irlaender * mpulsweb/controllers/statement.py (StatementController): New Statement controller. Very basic implementation yet. Should provide much of the functionallity of the privacy controller in the future, so privacy-controller will only handle accepting and declining "Einwilligungserklärung". * mpulsweb/templates/statements/list.mako: List of available statements. Default: No statements. * mpulsweb/templates/statements/statements.mako: This file is included in the main.mako an will include links the different statements and the link to show all available statements. * mpulsweb/templates/casemanagement/main.mako: Include new statement section. * mpulsweb/lib/config.py: Added new config variable to show statement links under further options. * mpulsweb/templates/casemanagement/main.mako: Only show statement links if enabled. * mpulsweb/templates/casemanagement/main.mako: Fixed showing links for reminders 2011-02-04 Torsten Irlaender * mpulsweb/model/user.py: Internationalisation of rolenames * mpulsweb/templates/administration/new_user.mako: Internationalisation of rolenames * mpulsweb/templates/administration/overview_user.mako: Do not show icons for roles, because labeling can change. * mpulsweb/model/user.py (User.isAdmin): Fixed issue105: compare with internationalized string of rolename. 2011-02-03 Bernhard Herzog Implement mpuls/issue1681: trigger tagging after import * mpulsweb/model/case.py (MPulsXMLImporter.__init__): New instance variable imported_ids to keep track of the ids of the imported data sets (MPulsXMLImporter.import_xml): Trigger retagging of the imported data sets if the import was successful (MPulsXMLImporter.import_case): Add the id of the dataset to imported_ids. (MPulsXMLImporter): Update doc-string. 2011-02-03 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter): Update doc-string 2011-02-03 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.check_validity_for_ids): Fix debug logging output. 2011-02-03 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.check_validity_for_ids): Rename check_validity_for_id to check_validity_for_ids and make the parameter a sequence of case ids so that multiple cases can be tagged at once without having to reload the tagging config. 2011-02-03 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.check_validity_for_id) (MpulsCase.checkValidity): Move the actual functionality of checkValidity into the new class method check_validity_for_id so that it can be used without having to instantiate a case object. 2011-02-03 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.checkValidity): Exit early when tagging is disabled. There's no need to create a TagSetter object at all in that case. 2011-02-03 Torsten Irlaender * mpulsweb/controllers/case.py: Fixed Imports. Added missing import of Agency and PrivacyStatement * mpulsweb/lib/translation.py (_ungettext): Handle "0" as plural form 2011-02-02 Torsten Irlaender * mpulsweb/templates/main.mako: Only show "Account-Settings" if administration is enabled. * mpulsweb/lib/app_globals.py: Load configfile and buidl ConfigParser-object. Save parser as g.mpuls_ini * mpulsweb/lib/helpers.py: New functions "get_urls_for_other_datasets", "get_num_of_other_datasets". Needed for switching between datasets * mpulsweb/templates/switch_to_other_datasets.mako: Only show links to switch between datasets if there is more than one dataset avaliable * mpulsweb/controllers/case_overview.py, mpulsweb/lib/validators.py, mpulsweb/templates/casemanagement/caselist.mako: Improved caseoverview. Handling search params and errors should now be better. Diveded large functions in smaller subfunctions. 2011-02-01 Torsten Irlaender * mpulsweb/templates/evaluation/evaluate.mako: Issue1744: Changed disabled with readonly to render input fields on evaluation page in readonly mode. * mpulsweb/lib/renderer.py (ViewRenderer._renderNumeric.uformat_numeric): Issue1712: Fixed handling of numeric values if the are None 2011-01-31 Torsten Irlaender * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Issue1617: Fixed call of empty_caselist function. * mpulsweb/lib/renderer.py (ViewRenderer._renderNumeric.uformat_numeric): Issue1712: Fixed formatting of numeric values in renderer. values are now preprocessed be the format_number function in lib/helpers.py which handles the localisation issue. 2011-01-27 Torsten Irlaender * mpulsweb/templates/privacy/default/privacy_statement.html: Issue1739: New Template for privacy statement in base. 2011-01-26 Roland Geider * mpulsweb/lib/helpers.py, mpulsweb/public/styles/screen.css, mpulsweb/public/images/icons/arrow_right_small.png, mpulsweb/templates/switch_to_other_datasets.mako: issue1716: show 'reload' icon in the menu for switching datasets, but not for the link for user permissions. The CSS for this is now in the base. 2011-01-25 Roland Geider * mpulsweb/public/styles/screen.css, mpulsweb/public/images/svg/refresh.svg, mpulsweb/templates/auth/login.mako: issue1728: submit button is now aligned with the input fields 2011-01-25 Roland Geider * mpulsweb/public/images/icons/refresh_active_16.png, mpulsweb/templates/switch_to_other_datasets.mako: issue1716: added new icon and CSS-class to allow overwriting 2011-01-24 Torsten Irländer * mpulsweb/lib/config.py: Set minimal configuration for case and Phase, so that the base can be run on the base database without any further config. * mpulsweb/lib/search.py (Search.convert_form_parameters): Parse sort options. Fix parsing of state and editor paramaters. * mpulsweb/lib/app_globals.py (Globals._init_case): Try to load case and casefactory from overrideable modul. If this fails load case and case factory from base. 2011-01-24 Torsten Irlaender * mpulsweb/commands, mpulsweb/commands/db, mpulsweb/commands/db/common.py, mpulsweb/commands/db/__init__.py, mpulsweb/commands/db/scripts, mpulsweb/commands/db/scripts/mpuls-create-db.sql, mpulsweb/commands/db/scripts/mpuls-init-db.sql, mpulsweb/commands/db/scripts/mpuls-create-tables.txt.old, mpulsweb/commands/db/scripts/install, mpulsweb/commands/db/scripts/install/06_logbook.sql, mpulsweb/commands/db/scripts/install/07_news.sql, mpulsweb/commands/db/scripts/install/04_documents.sql, mpulsweb/commands/db/scripts/install/05_appointments.sql, mpulsweb/commands/db/scripts/install/08_tags.sql, mpulsweb/commands/db/scripts/install/03_configuration.sql, mpulsweb/commands/db/scripts/install/09_helpers.sql, mpulsweb/commands/db/scripts/install/02_datamodel.sql, mpulsweb/commands/db/scripts/install/01_user.sql, mpulsweb/commands/db/scripts/install/00_preconditions.sql, mpulsweb/commands/db/scripts/mpuls-create-tables.txt, mpulsweb/commands/db/scripts/mpuls-init-cluster.sql, mpulsweb/commands/__init__.py: Added new commands and init-scripts to setup a new cluster and create and drop databases within the new cluster * setup.py, mpulsweb.egg-info/SOURCES.txt, mpulsweb.egg-info/PKG-INFO, mpulsweb.egg-info/entry_points.txt, mpulsweb.egg-info/requires.txt: Register new commands as paster subcommand. 2011-01-25 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: issue1729: typo 2011-01-21 Roland Geider * mpulsweb/public/styles/all.css: issue1404: differenciate the submit buttons more in the phase overview 2011-01-21 Torsten Irlaender * mpulsweb/templates/switch_to_other_datasets.mako: New code to render links for switching datasets * mpulsweb/lib/helpers.py: New function to render links to switch between different datasets. 2011-01-20 Torsten Irlaender * mpulsweb/templates/usersettings/change_password_login.mako: Issue1534: Set autocomplete="off" for form to change password on first login. 2011-01-19 Torsten Irlaender * mpulsweb/templates/info/info.mako: Fixed image links 2011-01-19 Frank Koormann * mpulsweb/templates/info/info.mako: Verallgemeinerung der Info-Seite 2011-01-17 Torsten Irlaender * mpulsweb/lib/dialogs.py (checkPrivacyStatement.validate): Issue1585: Fixed link to open a appointment. * mpulsweb/templates/switch_to_other_datasets.mako, mpulsweb/templates/main.mako: New template for code to switch between different datasets. On default this is empty so no additional menu will be rendered. Can be overwritten. 2011-01-14 Torsten Irlaender * mpulsweb/controllers/settings.py (SettingsController.editAction, SettingsController.edit): Use htmlfill render function to render form. * mpulsweb/templates/settings/edit.mako: Simpliefied edit page for agencysetting. Rendering of errors an fillout of values in forms is now done with htmlfill. 2011-01-13 Torsten Irlaender * mpulsweb/lib/renderer.py (ViewRenderer._renderChoice): Fixed check for choice bool 2011-01-11 Torsten Irlaender * mpulsweb/lib/renderer.py (ViewRenderer._renderChild): Try to save the identifier of the current element which is about to be rendered. This is part of a hack to enable rendering of conditionals in choice lists. * mpulsweb/lib/renderer.py (ViewRenderer._renderConditional): If the rendered conditional is a Meta Object call evaluat function wih saved curr_identfier. 2011-01-11 Bernhard Herzog Adapt to libformed revision 293:8a6f4c270c21 * mpulsweb/model/case.py (MPulsXMLImporter): New base class DBXMLImporter. In libformed 293:8a6f4c270c21 XMLImporter has been split into a generic part and a DB specific part and we need the latter here. (MPulsXMLImporter.__init__, MPulsXMLImporter.import_xml) (MPulsXMLImporter.import_case): Adapt to new base class. 2011-01-11 Bernhard Herzog Adapt to libformed revision 275:f922623c6b08 * mpulsweb/model/logbook.py (new_node): New. Helper function for get_logbook_import_factory (get_logbook_import_factory): Adapt to libformed revision 275:f922623c6b08 which now requires sequences instead of dictionaries in the StructureNode constructor. 2011-01-11 Roland Geider * mpulsweb/public/styles/screen.css: issue1658: Move bullet list for mandatory fields to the left to keep the layout unbroken 2011-01-07 Torsten Irlaender * mpulsweb/lib/search.py (EvaluationSearch): Modified search query. Result will now always list all agencys even if there are no cases for the agency. * mpulsweb/controllers/evaluation_overview.py (get_sort): Do not set default search param in controller. * mpulsweb/lib/search.py (EvaluationSearch.get_order): Set default search param to "count" * mpulsweb/controllers/evaluation_overview.py (EvaluationOverviewController.overview): When building all_ds variable check if id is not None. 2010-12-29 Torsten Irlaender * mpulsweb/templates/evaluation/overview.mako: Commented out options for evaluation in agencylist. Only evaluation is now available. * mpulsweb/lib/config.py: Make fkz and name of the agency searchable in agency overview. * mpulsweb/lib/validators.py(BundleActionForm, SearchCaseForm): Added paramenter "id_field" * mpulsweb/templates/search/search.mako: Fixed display of state search options. * mpulsweb/templates/evaluation/evaluate.mako: Added id_field hidden formfield to the template. * mpulsweb/templates/evaluation/overview.mako: Added id_field hidden formfield to the template. * mpulsweb/templates/casemanagement/overview.mako: Added id_field hidden formfield to the template. * mpulsweb/lib/search.py (EvaluationSearch.get_needle_clause): Added specfic function for agency search. * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Save id_field into the session. * mpulsweb/controllers/case_overview.py: Set id_field to "m.id" * mpulsweb/controllers/evaluate.py (EvaluateController.reset_filter): Delete id_field when resetting evalaution (search) filters. * mpulsweb/controllers/evaluate.py (EvaluateController._get_evalparams): Build selected ids-clause using if_field. * mpulsweb/controllers/evaluation_overview.py: Implemented marking agencys for evaluation * mpulsweb/model/agency.py (MpulsAgencyOverview.search): Set attribute "sql_where". The sql-where attribute includes the where part of the sql query on the agency overview page. In contrast to the case overview it is not enough to save the ids of the agencys as within a agency the included cases are filtered with the parameters saved in sql_where. * mpulsweb/controllers/evaluation_overview.py (EvaluationOverviewController): Set and save sql_where parameter. * mpulsweb/lib/search.py(_get_options): New. Isolted function wo return search options based on search string. * mpulsweb/lib/validators.py: Added paramenter sql_where to validator * mpulsweb/controllers/evaluate.py (EvaluateController._get_evalparams): Build sql clause for evaluation based on selected ids and specific sql-subquery if present. * mpulsweb/templates/evaluation/evaluate.mako: Added sql_where attribut for formularpage * mpulsweb/templates/evaluation/overview.mako: Always displaye bundled actions for agency-overview. 2010-12-28 Torsten Irlaender Implement evaluation server * mpulsweb/model/agency.py (MpulsAgency): New classes for agencys in evaluation server. Class is very common to the MpulsCase class, but is hopfully reduced now to the minimum required functionality. * mpulsweb/controllers/evaluation_overview.py: New controller for agancy overview in evaluation server. Search paramenters are saved in its own session variable. Controller is very common to the CaseOverview-controller. * mpulsweb/lib/config.py: Added new config variable for fields of an agency in evalutons server. On default we will display the FKZ and the number of cases within the agency. * mpulsweb/lib/search.py (AppMixin): New base class for application specific search. * mpulsweb/lib/search.py (EvaluationSearch): New class for search in evaluationserver. Refactored Search and CaseSearch. Moved common functions into base Search class. * mpulsweb/lib/app_globals.py: Setup evaluation search on app startup. * mpulsweb/templates/search/search.mako: New. Because search logic is now used in case search and evaluation search the template was moved into a another location and prepared for later inheritation. * mpulsweb/templates/casemanagement/search.mako, mpulsweb/templates/evaluation/search.mako: Inherit from new searchtemplate and overwrite links to controller actions. * mpulsweb/templates/evaluation/agencylist.mako, mpulsweb/templates/evaluation/overview.mako: New evaluations server specific templates. * mpulsweb/templates/main.mako: Add section for evaluation server in template. * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translations for evaluation specific strings. * mpulsweb/templates/help/help.mako: Show help dependig on enabled modules. 2010-12-23 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_needle_clause): Only create the real clause if there were actually any match_fields given. Fixes the immediate problem of mpuls/issue1627 2010-12-22 Torsten Irlaender * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue1623: Fixed translation of "Noch nicht gestartet". 2010-12-21 Torsten Irlaender * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue1623: Fixed naming of phases. 2010-12-20 Roland Geider * mpulsweb/lib/evaluation.py: issue1582: correctly ignore system entries (created, etc.) in the logbook 2010-12-13 Roland Geider * mpulsweb/model/logbook.py, mpulsweb/controllers/logbook.py, mpulsweb/templates/logbook/overview_print.mako: issue863: Die Tagebuchdruckfunktion (G312) zeigt nun auch den Namen des Jungendlichen an 2010-12-13 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: issue1605: correct translation of tooltips in the phase overview for fields with errors 2010-12-13 Roland Geider * Changes.txt: Updated CHANGES file 2010-12-14 Torsten Irlaender * mpulsweb/lib/base.py (render_mako.render_template): Issue1424: Fixed custom render function to use the custum ungettext-function. 2010-12-14 Bernhard Herzog * mpulsweb/lib/helper/filters.py (nl_to_br): nl_to_br is only called with strings as arguments. There's no need to do any typechecks. 2010-12-13 Roland Geider * mpulsweb/lib/helper/filters.py: only attempt to convert new lines to
for strings 2010-12-13 Bernhard Herzog * mpulsweb/model/logbook.py (get_logbook_import_factory): Adapt to libformed revision 252:b9389de2dd55. mpulsweb now requires libformed revision 252:b9389de2dd55. 2010-12-13 Roland Geider * mpulsweb/lib/helper/filters.py, mpulsweb/lib/helpers.py: issue1550: fix in function convertForDigest that resulted in an exception for mysterious reasons 2010-12-09 Torsten Irlaender * mpulsweb/lib/helpers.py (timedelta_in_years), (get_age): Issue821: Added new function to calculate timedelta in years and age. 2010-12-06 Roland Geider * mpulsweb/controllers/casedocument.py, mpulsweb/lib/validators.py: issue1419: fix problem with uploaded documents with the same name if they were uploaded with IE7 2010-12-06 Roland Geider * mpulsweb/templates/casemanagement/main.mako: issue1544: don't open the confirmation dialog for copying cases in a new window 2010-12-07 Torsten Irlaender * mpulsweb/lib/validators.py (DateCheck): Issue522: Fixed error message. 2010-12-06 Roland Geider * mpulsweb/templates/logbook/overview.mako: set icon widths, to prevent problems with IE and be more HTML compliant 2010-12-06 Roland Geider * mpulsweb/public/styles/all.css, mpulsweb/templates/logbook/overview.mako: issue1493: middle-align the times for the logbook overview. 2010-12-06 Torsten Irlaender * mpulsweb/controllers/administration.py: Issue1533: Fixed traceback when trying to delete a user which does still hold cases. * mpulsweb/templates/casemanagement/overview.mako: Issue1527: Do not show evaluation option for admins if they search for cases of a specific editor. 2010-12-02 Roland Geider * mpulsweb/model/appointment.py: remove unneeded parenthesis 2010-12-02 Torsten Irlaender * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/casemanagement/search.mako: Issue1424: Added translation on search page. * mpulsweb/templates/casemanagement/digest.mako: Issue738: Added info on editor to the digest. 2010-12-02 Roland Geider * mpulsweb/public/styles/screen.css: issue1210: do a slight clean up of not used styles 2010-12-01 Torsten Irlaender * mpulsweb/controllers/formularpage.py (get_rendered_page): Fixed rendering of helo for formularpages if no help is available for the current page. * mpulsweb/lib/config.py: Issue1426: Added new configuration options to enable and disable certain search option in case-search. On default all options are enabled. * mpulsweb/templates/casemanagement/search.mako: Issue1426: Only show search options if they are enabled. * mpulsweb/templates/evaluation/evaluate.mako: Issue1304: Adapted labeling in evaluation. 2010-11-30 Torsten Irlaender * mpulsweb/lib/translation.py (_ungettext): Issue1416: Fixed translation function for "ungettext". * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako, mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako: Issue930. Added info to print out the case in dialogs for automatic phasechange. * mpulsweb/controllers/formularpage.py (get_rendered_page): Issue930: Added help icon to page header if help is available for page. 2010-11-26 Bernhard Herzog * mpulsweb/lib/renderer.py (SET_MODIFICATION_ATTRS): Add onchange attribute to reactivate the check for modifications in the form when the usr switches to another page without saving first. Remove the old commented out SET_MODIFICATION. (ViewRenderer._renderText, ViewRenderer._renderDate) (ViewRenderer._renderInt, ViewRenderer._renderNumeric) (ViewRenderer._renderTextArea): Add the SET_MODIFICATION_ATTRS to the form elements. 2010-11-26 Roland Geider * mpulsweb/lib/evaluation.py: issue1498: show logbook statistiks to substitutes too (use master_tbl_view instead master_tbl_eval_total_view) 2010-11-26 Roland Geider * mpulsweb/public/images/icons/validity-1-22.png: Change icon size to 22x22 2010-11-23 Bernhard Herzog * mpulsweb/lib/security.py (getDbName): Handle case when no mapping for the db is found. 2010-11-23 Bernhard Herzog * mpulsweb/model/case.py: Remove unused imports. 2010-11-23 Bernhard Herzog * mpulsweb/lib/base.py: Remove unused imports. 2010-11-23 Bernhard Herzog Fix mpuls/issue1462 * mpulsweb/lib/security.py (get_unmapped_db_name, getDbName): Rename getDbName to get_unmapped_db_name and introduce a new getDbName which applies the db mapping to the dbname. (get_db_parameters, checkLogin): Use get_unmapped_db_name instead of getDbName because we actually need the unmapped name here. 2010-11-23 Bernhard Herzog * mpulsweb/lib/security.py (get_db_parameters): Remove the first parameter, dbagency. It's always the unmapped db name currently still returned by getDbName() anyway, so use that automatically instead. * mpulsweb/lib/base.py (BaseController.__before__), mpulsweb/model/case.py (MpulsCase.checkValidity): Adapt to get_db_parameters change 2010-11-22 Roland Geider * mpulsweb/public/styles/all.css: issue1404: fix text color for disabled (submit) buttons 2010-11-19 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translation 2010-11-19 Bernhard Herzog * mpulsweb/lib/export.py (XLSContainer.sheet_name_from_title): New method to determine a valid worksheet name from a table title. Many titles derived from formed descriptions are too long and some contain invalid characters. (XLSContainer.write_xls): Use sheet_name_from_title to ensure valid sheet names. 2010-11-17 Bernhard Herzog * mpulsweb/lib/export.py (Container.create_tables): always export the invisible pages as they cannot be explicily selected by the user and they usually contain important information like the current phase. Fixes mpuls/issue1310 2010-11-17 Frank Koormann Minor rendering improvements: * mpulsweb/lib/renderer.py (ViewRenderer._renderInfo): Fix image size. * mpulsweb/public/styles/screen.css: div#content_ueberschrift: Slight top margin to place content header equal to text in modusfield. * mpulsweb/templates/formularpage/formular.mako: linebreak added to ensure correct rendering in case of multi-line content_ueberschrift. 2010-11-17 Roland Geider * mpulsweb/lib/renderer.py, mpulsweb/templates/dialogs/confirm.mako, mpulsweb/templates/casemanagement/dialogs/confirm_export.mako, mpulsweb/templates/casemanagement/search.mako, mpulsweb/templates/casemanagement/caselist.mako, mpulsweb/templates/tags/tags.mako, mpulsweb/templates/phase/phase.mako, mpulsweb/templates/dialogs/success.mako, mpulsweb/templates/administration/reset_password.mako mpulsweb/templates/casemanagement/digest.mako: issue1390: fixed issues with Internet Explorer when PNG images don't have an explicit "width" and "height" attribute 2010-11-17 Roland Geider * mpulsweb/public/styles/ie6.css, mpulsweb/public/styles/ie7.css, mpulsweb/public/styles/ie8.css: issue1403: fix issue with IE not understanding too advanced CSS 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py: Remove unused imports. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py: Add comments. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (to_str, Sheet, Book): Removed. No longer needed. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (XLSTable, XLSContainer): New. XLS export classes derived from the new base classes Table and Container. They effectively replace the old XLS export code. (XLSExport.__init__): Use XLSContainer with XLSTable as table_factory instead of the Book class. (XLSExport.export): Adapt to changes. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Container.__init__): New instance variable table_order to keep track of the order in which the table occur in the formed definition, so that the order of the sheets in the XLS export can be the same as in the forms in the web-application. (Container.create_tables): Fill table_order. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Container.__init__): New parameter and instance one_table_per_page (default False) to indicate whether there should be one table per FormEd page. Needed for XLS export. (Container.create_tables): Take table names and titles from the page if one_table_per_page is true. This will automatically put the values in the right tables on a per-page basis. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Container.__init__): New instance variable field_name_to_table_name to keep track of which fields belong to which output table. (Container.create_tables): Fill field_name_to_table_name (Container.fill_table, Container.fill_from_node): Rename fill_table to the more appropriate fill_from_node. Use field_name_to_table_name to map from field names to the table into which the field should be written. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Table.__init__): New parameter and instance variable title. Not needed by CSV export but will be needed to export to XLS (Container.create_tables): Gather table titles for repeat groups and the master table and use them when creating the table objects. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Container, CSVContainer): Move non-csv-specific code from CSVContainer into the new base class Container and derive CSVContainer from that. The Container constructor has one new parameter table_factory which is needed because the base class cannot depend on a particular table class like CSVTable. (CSVExport.__init__): Instantiate CSVContainer with CSVTable as table_factory. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Table.__init__): Remove handling of title which was added accidentally. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Table): New. Extracted from CSVTable to contain the code useful for both XLS and CSV tables. (CSVTable): Inherit the new Table class. Remove methods now defined in the base class. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (Export): Move more to be beginning of the file to start a section with base classes for the export functionality shared by the XLS and CSV exports. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py: Add a comment explaining the pyExcelerator kludge for writing to a StringIO instance. (fake_file): Add a doc-string. 2010-11-16 Bernhard Herzog * mpulsweb/lib/export.py (MyStringIO.real_close): Actually call the real close method, i.e. the one from the base class. 2010-11-16 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options): Fetch type_ending defaults from config and copy previously values from soptions. (EvaluateController._get_evalparams): Use "type_ending" instead of "ending" in params so that formfill will actually fill in the form. * mpulsweb/lib/config.py (MpulsAppConfig.build_defaults): Add emtpy defaults for type ending search for evaluations. 2010-11-16 Bernhard Herzog The last part of the base changes for mpuls/issue1264 * mpulsweb/templates/evaluation/evaluate_extra.mako: New. Basically empty template that can be used by derived applications to add new search criteria to the evaluation form. * mpulsweb/templates/evaluation/evaluate.mako: Include the new evaluate_extra.mako template. 2010-11-16 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.type_ending_clause): New. Method to be implemented by derived classes for searches based on the type of ending. (EvaluateController._get_evalparams): Add the return value of type_ending_clause to the where_clauses list so that its used in the search 2010-11-16 Torsten Irlaender * mpulsweb/controllers/phase.py: Moved translated strings into function. * mpulsweb/controllers/formularpage.py (_handle_automatic_phase_change): Define translated string in function instead of importing them from model/phase. * mpulsweb/model/phase.py (PhaseList.check_consistence): Moved translated string into function. Removed translated strings, which has been now defined in controllers/formularpage. * mpulsweb/lib/helpers.py: Added function to return a sorted list of available dbs. * mpulsweb/templates/auth/login.mako: Print sorted list of dbs 2010-11-16 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController._get_evalparams): Collect all subclauses of the where clause in a list to make it easier to add new clauses. 2010-11-15 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_phases_dates_clause): For the combined date/phase search also check that the current phase is the matching phase or one of its successor phases. Implements the search part of mpuls/issue1268 2010-11-15 Bernhard Herzog * mpulsweb/model/phase.py (get_phase_successors): Add optional parameter phaselist so that the phaselist does not have to be regenerated on every invocation. 2010-11-15 Bernhard Herzog * mpulsweb/model/phase.py (get_phasesuccessors) (get_phase_successors): Rename to the more readable get_phase_successors * mpulsweb/controllers/evaluate.py (EvaluateController._get_evalparams): Adapt to renaming of get_phase_successors 2010-11-15 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_phasesuccessors), mpulsweb/model/phase.py (get_phasesuccessors): Move get_phasesuccessors from controllers/evaluate.py to model/phase.py so that it can be reused by other code more easily. 2010-11-15 Roland Geider * mpulsweb/controllers/case.py: issue1351: fix plural form in anonymisation dialog 2010-11-12 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_case): Only try to import logbook if there actually was a logbook for the case 2010-11-12 Torsten Irlaender * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue905: Adapted labeling of "Tags" 2010-11-12 Roland Geider * mpulsweb/templates/tags/tags.mako: hide the Tag-ID in a HTML comment 2010-11-12 Roland Geider * mpulsweb/public/styles/all.css, mpulsweb/public/styles/screen.css: Fix some CSS-Errors * mpulsweb/templates/logbook/overview.mako: Colour the background in the logbook overview 2010-11-11 Roland Geider * mpulsweb/public/images/svg/case_status/*.png, mpulsweb/public/images/icons/case_status/*.svg, mpulsweb/templates/casemanagement/caselist.mako: use real icons instead of CSS-generated art to show the status of the current phase. Makes less problems with IE. 2010-11-11 Frank Koormann * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Typo fixed (missing space). 2010-11-10 Torsten Irlaender * mpulsweb/templates/help/help.mako: Removed jmd-specific-part form help page. * mpulsweb/public/styles/screen.css: Workaround for issue1378: Height of navipath is now set automatically and can grow dependig of its content. Currently this might have the effect that the navipath overlaps other parts of the application. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Issue1382: Changed translation. 2010-11-10 Roland Geider * mpulsweb/controllers/casedocument.py: issue1387: allow changing the name of files without breaking the extension 2010-11-10 Roland Geider * mpulsweb/public/styles/all.css: issue1281: case overview too small for icons 2010-11-09 Torsten Irlaender * setup.py: Pin pylons on 0.9.7. Add babel as precondition 2010-11-04 Bernhard Herzog * mpulsweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako: Remove unused import 2010-11-04 Bernhard Herzog * mpulsweb/lib/navigation.py (NavigationTreeBuilder.__init__): Removed the instance variable key because it is never used. 2010-11-04 Bernhard Herzog * mpulsweb/lib/navigation.py: Remove commented out code. 2010-11-04 Roland Geider * mpulsweb/lib/evaluation.py, mpulsweb/templates/logbook/evaluation_typ.mako: issue1090: don't count the default "case created" entry for the logbook statistic 2010-11-03 Bernhard Herzog * mpulsweb/controllers/navigation.py (NavigationController.open_all_branches): Remove this unused method. It was checked in accidentally. 2010-11-03 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.__before__): Simply pass all languages from the request plus the default language to the set_lang function instead of trying to figure out in __before__ which of them actually works. This way the translations actually work even if 'de' is not the first element in the list of languages in the request. 2010-11-03 Torsten Irlaender Issue1314: * mpulsweb/templates/administration/overview_user.mako: Added internationalization. * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translation files. * mpulsweb/lib/config.py: Added new config var to hide administration links such as creating users and groups or changing password. This is helpfull for demoservers * mpulsweb/templates/usersettings/show_settings.mako, mpulsweb/templates/main.mako: Only show administration links if administration is enabled. * mpulsweb/public/styles/all.css: added new style for demonotice * mpulsweb/lib/config.py: Added new config var "showdemonotice" to show or hide a notice if this server is confgured as public demo server. * mpulsweb/templates/base.mako: Show demo notice if server is run as demo server. showdemonotice is 1 * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translation for demonotice 2010-11-03 Roland Geider * mpulsweb/public/styles/all.css: fix problem with "date" columns 2010-11-02 Torsten Irlaender * mpulsweb/lib/translation.py: Added support for multiple domains in different locatations. This should make internationalization much more flexible. Some optimization is still needed. E.g do not build the translator object every time This was already implemented in this way. in the former version of lib/translation.py. * mpulsweb/lib/base.py (BaseController.__before__): Adapted call of set_lang(). * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/home/home.mako, mpulsweb/templates/annotations/main.mako, mpulsweb/templates/settings/edit.mako, mpulsweb/templates/auth/main.mako, mpulsweb/templates/auth/login.mako, mpulsweb/templates/main.mako:Added internationalisation in home template. 2010-11-01 Torsten Irlaender Issue1313: * mpulsweb/lib/config.py: Added new config var "offline-client" which indicates if there is a offline-client availabe for this configuration or not. Use this to "customize" some dialogs which might refer to the offline client. e.g the export dialog. The variable default to 0 -> no offline client. * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Only shown advice regarding the offline client if it is enabled. 2010-10-28 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.export): Set c.allow_logbook_export to indicate whether the logbook can exported. The logbook can only be exported if the logbook is activated in the application and if the target format is XMl. * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Only look at c.allow_logbook_export to determine whether to display the logbook checkbox. The logic to decide when logbook export is possible is now in the controller. 2010-10-28 Torsten Irlaender * mpulsweb/model/case.py (MpulsCase.checkValidity): Used get_db_parameters to get mapped db credentionals for setting up the db-connection in TagSetterconfig. * mpulsweb/templates/tags/tags.mako: In section for rule based checks: Only show errors and ignore succeeded checks. In case there are no errors show a single note. * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translation on tagspage. * mpulsweb/templates/news/newslist.mako: Do not escape title and text in news. 2010-10-27 Bernhard Herzog * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Allow user to select logbook for export if logbooks are enabled in the application. 2010-10-27 Bernhard Herzog Main implementation of logbook import (mpuls/issue1314) * mpulsweb/model/case.py (MPulsXMLImporter.__init__): New. Pass the logbook factory to the base class so that logbooks can be imported too. (MPulsXMLImporter.import_case): Import the logbook if the case has one. * mpulsweb/model/logbook.py (string_iso_time): New. Helper function to decode timestamps when importing from XML. (get_logbook_import_factory): New. Returns a component factory for XML import via libformed. (xml_to_db): New. Map XML element names to the corresponding database column (import_logbook): New. Import the logbook from XML. (load_known_entries): New. Helper function to load the known logbook entries including their uuids (update_logbook_entry, create_logbook_entry): New functions to create or update logbook entries when importing from XML. 2010-10-27 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_case): Rename parameter case to components like in the base class. (MPulsXMLImporter.import_allowed): Rename parameter case to components like in the base class. Adapt to components being a dictionary that contain the main instance tree of the case under the key 'master'. Requires libformed 238:bd48e86809b4 2010-10-27 Torsten Irlaender * mpulsweb/controllers/auth.py (AuthController.loginAction): Moved logic to set and save the dbnam from the dblist into a session into the login-controller. * mpulsweb/templates/auth/login.mako: Renamed parameter for dbname on login page. * mpulsweb/lib/security.py (get_dbname_from_list): Simplified. After moving logic into the auth controller this method just returns the saved db name in the session var "DB_NAME_FROM_LIST". * mpulsweb/lib/security.py: Issue1271: Replaced info messages with debugging messages. * mpulsweb/controllers/formularpage.py (FormularpageController._handle_automatic_phase_change): Check validity of the case after automatic phase-change * default_tagging.xml: Fixed default_tagging. * mpulsweb/model/case.py (MpulsCase.checkValidity): Use tagging config defined on application start in app_globals. * mpulsweb/model/case.py (MpulsCase.setPhase), (MpulsCase.getPhase): Added convinience function to get und set the phase of a case. Further the set function now automatically checks the validity of the case after setting the phase. * mpulsweb/controllers/formularpage.py (FormularpageController._handle_automatic_phase_change): Call setPhase method of case object to trigger revalidating the case after setting the phase. * mpulsweb/controllers/phase.py (PhaseController.setPhase): Call setPhase method of case object to trigger revalidating the case after setting the phase. * mpulsweb/lib/app_globals.py: Save location of tagging configuration in a global var. It is used to init the TagSetterConfig. 2010-10-27 Roland Geider * mpulsweb/templates/annotations/main.mako, mpulsweb/templates/base.mako: load stylesheet to allow applications to overwrite styles 2010-10-26 Bernhard Herzog * mpulsweb/lib/security.py (load_db_mapping_from_file): Removed. Not used anywhere anymore in mpuls 2. (NEW_DBS): Removed. Also not needed anymore because it was initialized by load_db_mapping_from_file. (getDbName): Adapt to removal of NEW_DBS. 2010-10-26 Torsten Irlaender * mpulsweb/public/styles/screen.css: Added more styles for select field on loginscreen. * default_dblist.json: New. Empty dblist. * mpulsweb.egg-info/paste_deploy_config.ini_tmpl, development.ini: Added new configuration variable to define the localtion for a db-liste * mpulsweb/lib/config.py: Added new class "MpulsDBList" to load db lists form json file. * mpulsweb/lib/app_globals.py: Load list of available databases and safe them as global var. * mpulsweb/lib/helpers.py (get_db_selectionlist): Added new function wich returns a dictionary with available databases. Used to select the database to logon in loginscreen. * mpulsweb/lib/security.py: Added new function which tries to fetch the name of the db to login from submitted form parameter. * mpulsweb/templates/auth/login.mako: Added select box with available db to connect to if they are defined in the dblist json. 2010-10-25 Bernhard Herzog * setup.py: Add entry point for the redirectory which was only added to mpulsweb.egg-info/entry_points.txt so far. When setup.py is used to install mpuls that file is overwritten by the contents defined in setup.py 2010-10-25 Bernhard Herzog * mpulsweb/model/logbook.py (Logbook.__init__): Remove parameters sort_field and sort_order and corresponding instance variables. The parameters are never used and the instance variables are only assigned but never read. (Logbook.loadById): Do not assign to obsolete and unused instance variables sort_field and sort_order 2010-10-25 Bernhard Herzog Export the logbook, too, if requested. The user interface has not yet been extended to actually let the user do that, because XML files containing the logbook cannot yet be imported again. * mpulsweb/model/logbook.py (text_subelement, iso_time_string) (export_logbook): New functions to export the logbook. * mpulsweb/model/case.py (MpulsCaseBundle.export): Export the logbook as well if it has been selected and the case is not being anonymized during export. 2010-10-22 Bernhard Herzog Fetch UUIDs of logbook entries, in preparation for logbook XML export * mpulsweb/model/logbook.py (LOAD_LOGBOOK, LOAD_LOGBOOK_BY_ID): Fetch the uuid of the entry as well. (LogbookEntry.__init__, LogbookEntry.setByRow): Set uuid instance variable too. 2010-10-22 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_case): New. Override this method instead of import_allowed as it's now the method sub-classes need to override to influence imports. Requires libformed 226:e3d4dbaa9065 2010-10-22 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.export): Omit invisible pages from the list of pages that can be exported. The user doesn't know about invisible pages and they are always exported by libformed anyway. * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Remove special case for pages named "ee". The reason that was done in the first place was that that page contains special fields that the user cannot set via the normal form pages and which contain information that is nevertheless important like the current phase of the case. Simply always exporting invisible pages is a more generic approach and is not dependent on specific page names which are not always used consistently in all applications. 2010-10-22 Bernhard Herzog * mpulsweb/lib/helpers.py (get_export_selector): Removed. No longer used. 2010-10-22 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.export): Bind a list of pages in the formed meta tree to the template context. Reuse that list for the htmlfill data. * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Generate the HTML for the list of checkboxes for the pages from the pages list in the template context instead of relying on a special helper function that creates HTML 2010-10-21 Bernhard Herzog * mpulsweb/model/case.py: Fix formatting. 2010-10-21 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseBundle.export): Remove an unnecessary exception handler. The exception handler would handle exceptions that happen during XML serialization by simply loggin the exception and doing nothing else. However, if XML serialization fails nothing at all can be exported and in fact the most likely thing that happens after handling the exception would be another exception due to the local variable xmltree being unbound. 2010-10-21 Bernhard Herzog * mpulsweb/model/logbook.py (Logbook.loadById): Remove an unnecessary exception handler. When the now-removed handler is executed, the cur.execute call will either not have been done at all or will have failed. In both cases trying to fetch results from the cursor after the exception handler finished, will lead to an exception because there are no results to fetch at all. 2010-10-21 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.exportAction): CSV export is now done with zip files so change extension and mime-type accordingly. 2010-10-21 Bernhard Herzog * mpulsweb/lib/export.py (CSVContainer.write_zip_file): Add .csv extension to the filenames in the zip file so that they're recognized as CSV files by e.g. openoffice and other software. 2010-10-20 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseBundle._exportCSV): Add selection parameter. Now exporting as CSV should work if it's enabled in the application. The is the base part of mpuls/issue1048 2010-10-20 Bernhard Herzog * mpulsweb/lib/export.py (CSVTable, CSVContainer, CSVExport): New. Classes to implement CSV export. 2010-10-20 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_allowed): The uuid may be None now, in which case we cannot perform any checks and always allow the import. 2010-10-20 Torsten Irlaender * mpulsweb/templates/phase/phase.mako: Issue939: Get url of images with "url_for". Loading images with "/images/..." fails because of special url routing in JMD. * mpulsweb/controllers/formularpage.py (FormularpageController._handle_automatic_phase_change): Issue1253: Do not escape phase descriptions. * mpulsweb/model/phase.py (PhasePart.getDescription): Do not return "Running" or "Finnished" appended to the phase description if phase is unknown. * mpulsweb/templates/casemanagement/caselist.mako: Issue1253: Do not escape phase descriptions. Simplified rendering of phase icons. * mpulsweb/templates/casemanagement/main.mako: Issue790: Only show "Create reminder-link" for cm user. 2010-10-18 Torsten Irlaender * mpulsweb/lib/navigation.py (NavigationTreeBuilder.build): Issue893: Do not render children of Page-RG, because of some issues in ordering the items in navigation and on the overview page. The overview page is displayed as a childe instead of a folder now. 2010-10-14 Bernhard Herzog * mpulsweb/model/logbook.py (KIND2TEXT): Removed. Access to the app_globals (i.e. g), must not be done at module level because it's only possible while handling a request and its value is application specific. (LogbookEntry.getKind): Directly access g.mpuls_config instead of using the global KIND2TEXT. 2010-10-13 Bernhard Herzog Implement main part of mpuls/issue1266 * mpulsweb/lib/config.py (MpulsAppConfig.build_defaults): Use strings instead of date objects as the defaults for 'search', 'default-start-date' and 'search', 'default-end-date' * mpulsweb/controllers/evaluate.py (get_search_options): Use mpuls_config.get_date instead of mpuls_config.get to fetch the configuration values of 'search', 'default-start-date' and 'search', 'default-end-date' so that they can be specified a strings and then overwritten in mpuls applications. 2010-10-13 Bernhard Herzog * mpulsweb/lib/config.py (MpulsAppConfig.get_date): New. Return a configuration setting as a date object. 2010-10-13 Bernhard Herzog * mpulsweb/lib/config.py (MpulsAppConfig.get_elementary_fields) (MpulsAppConfig.get_individual_fields): Removed because they're not used anywhere not even in the pre-mpuls-2 applications. 2010-10-12 Roland Geider * mpulsweb/lib/evaluation.py: issue1087: Show the statistics in minutes, not hours 2010-10-12 Roland Geider * mpulsweb/public/styles/all.css: issue941: Show case number in the overview. Increase table width. 2010-10-11 Bernhard Herzog * mpulsweb/lib/db.py (quote_connect_parameter): New. Quote psycopg2.connect parameters properly (DB.__init__): Do not quote parameters here. (DB.getConnection): Quote all string parameters for psycopg2.connect using quote_connect_parameter. 2010-10-11 Bernhard Herzog * mpulsweb/model/news.py (NewsList.__init__): Make sure the local variables conn and cur are set in case connecting to the database fails for some reason. 2010-10-11 Roland Geider * mpulsweb/lib/renderer.py, mpulsweb/public/styles/all.css, mpulsweb/public/styles/color3.css: issue938 changes to RG overviews 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Remove unused imports. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Minor stylistic fixes. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Store the form parameters in session['evaluation.options']. This finally implements mpuls/issue1057 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options): Do not convert the dates to strings. Leave them as python date objects. (EvaluateController.evaluate): Use the EvaluationFormValidator's from_python method to convert to the string representation used in the evaluation form. This way, it's OK to have date objects in the dict returned by get_search_options 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options): Refactor to make handling of the default values clearer. 2010-10-08 Bernhard Herzog * mpulsweb/lib/validators.py (MyDateConverter.unconvert_day): New. Called by the from_python method to convert back from a python date object to the string representation. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluate): evaloptions is only used within the evaluate method so there's no need to put it into the c-Object 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): c.evaloptions is not needed when rerendering the evaluate.mako because of invalid form parameters, so do not even compute its value. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Make the phases to the evaluate.mako template if the form parameters are invalid so that the phases are rendered properly. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Refactor the code substantially: Apply the same conn Parameter change to EvaluationConfig instantiation as previously in the evaluate method in the case of invalid form parameters where the evaluate.mako template has to be rerendered. Remove some superfluous variables. Move the code that renders the evaluation result out of the try-finally block because the db connection will not be needed at that point anymore. Reduce some code duplication. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluate): Do not instantiate the EvaluationConfig with an actual db connection. It will never be used and the previous code would even recycle the connection immediately after instantiating EvaluationConfig and before it was actually used. This change also remove one exception handler that would let the evaluate method proceed even if the EvaluationConfig object could not be created even though in that case nothing useful could be done at all. 2010-10-08 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): There's no need to apply htmlfill to the rendered evaluation result because it doesn't contain any forms. 2010-10-08 Torsten Irlaender * mpulsweb/templates/casemanagement/caselist.mako: Issue1253: Fixed escaping in case-overview legend. * mpulsweb/model/case.py (MpulsCase.make_consistent): Issue1259: Ignore the 'unknown' phase when making the phase consistent. 2010-10-08 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_phases_dates_clause): Ignore the 'unknown' phase when building the where clause for the combined date/phase search. The unknown phase does not have any associated date fields. 2010-10-08 Roland Geider * mpulsweb/lib/renderer.py, mpulsweb/public/styles/all.css: issue938: changes to RG overviews 2010-10-08 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: typo 2010-10-07 Bernhard Herzog * mpulsweb/lib/validators.py (EvaluationFormValidator.agencyid): Removed. It's not used anywhere. 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options): Remove some more options that are not actually used: start_date_field, end_date_field, sql. 2010-10-07 Bernhard Herzog * mpulsweb/lib/validators.py (MyDateConverter.__init__): Add comment about the non-obvious unusual use of super to access the base class __init__ method 2010-10-07 Bernhard Herzog * mpulsweb/lib/validators.py (EvaluationFormValidator.start_date_field) (EvaluationFormValidator.end_date_field): Removed. They're not used as form fields anywhere 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options): Remove handling of unused option 'sqlwhere'. This is the only place in mpuls (base, waska, wasko, jmd) where it's used. 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController._do_export): Rename the variable form_result to params to reduce confusion. form_result is usually used for the minimally processed form parameters. The value in _do_export is actually the return value of _get_evalparams which contains the parameters after further processing and it contains information that was not included directly in any form (such as a fragment of an SQL statement). 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController._do_export): New method containing the code shared by exportCSV and exportXML. (EvaluateController.exportXML, EvaluateController.exportCSV): Use _do_export for the actual evaluation and export. 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Remove unused imports. Reorder imports according to convention. 2010-10-07 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_search_options) (EvaluateController.evaluateAction): Remove commented out code. 2010-10-07 Torsten Irlaender * mpulsweb/public/images/icons/info/ok_22.png: New icon for "ok"-status. * mpulsweb/templates/tags/tags.mako: Use icons instead of colors in tag overview to indicte missing tags. 2010-10-07 Torsten Irlaender * mpulsweb/templates/casemanagement/search.mako: Issue1260: Fixed listing of phases in search. * mpulsweb/templates/phase/phase.mako: Issue939: Use icons instead of colors on phase page to indicate missing fields or other errors. * mpulsweb/model/phase.py (Field.get_link): Issue939: Add "title" attribute to the links on phase page. * i18n/mpulsweb.pot, i18n/de/LC_MESSAGES/mpulsweb.po: New translations for title attribute in phase overview page. 2010-10-06 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save): rearrange the code so that only the instance_tree.setData call is in the try-except statement that catches the SetDataException. This way all the other code in the try block after the setData call is still executed even if the setData call raises the SetDataException. In particular, the code that handles the repeat group actions is still run so that creating and deleting inline repeat groups while there are uncomitted chagnes works again. Fixes mpuls/issue807 2010-10-06 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Remove unused imports. 2010-10-06 Torsten Irlaender * mpulsweb/templates/tags/tags.mako: new layout for tags overview. Tags are now categorized in three categories: 1. Evaluation, 2. Validities, 3. Errors. Each Tag is colored, so the user sees if the case is missing some tags. * mpulsweb/controllers/tags.py (TagsController.overview): Save tags in c.tags. Changed rendering of page (is not a formular anymore) * i18n/mpulsweb.pot, i18n/de/LC_MESSAGES/mpulsweb.po: New translations for tags overview page. 2010-10-05 Roland Geider * mpulsweb/controllers/mpuls.py: issue1119: own reminders would appear as automatic reminders * mpulsweb/templates/home/caseappointmentlist.mako: issue933: adapt template to show a consistent behaviour for appointments/reminders: they both open its info page instead of reminders taking the user to the case overview, using the same icon and text. 2010-10-05 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations 2010-10-04 Bernhard Herzog Render notices in a separate block, but treat them as warnings otherwise. Implements mpuls/issue1110. * mpulsweb/controllers/formularpage.py (get_rendered_page): Pass the notices to the error renderer, too (get_rendered_page): Add notices to the warningList for htmlfill, too. * mpulsweb/lib/renderer.py (ViewRenderer.__init__): New instance variable "notices". (ViewRenderer._has_warnings): notice rules are warnings, too, so check self.notices as well (ViewRenderer._checkWarnings): Add notice warnings to self.notices. (ErrorRenderer.__init__): New parameter and instance variable: notices. (ErrorRenderer.render): Render notices in a separate block after errors but before warnings 2010-10-04 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._has_warnings): New. Check whether there are known warnings for a given node (ViewRenderer._renderLabel, ViewRenderer._renderErrors): Use _has_warnings to determine whether the node to be rendered has warnings instead of using equivalent inline code. 2010-10-04 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._checkWarnings): Fix typo in comment 2010-10-04 Bernhard Herzog Make the name of the authorization cookie configurable. This makes it possible to run several mpuls applications on the same host on different ports and to log in to all of them at the same time using the same browser. This is very useful for development. * mpulsweb/controllers/auth.py (AuthController.loginAction) (AuthController.logout): Use auth_cookie_name to determine the cookie name instead of using a hard-wired name. * mpulsweb/lib/base.py (auth_cookie_name): New. Return the name of the authorization cookie. (BaseController.__before__): Use auth_cookie_name to determine the cookie name instead of using a hard-wired name. 2010-10-04 Torsten Irländer * mpulsweb/lib/renderer.py: Issue893: Added numebering of entries in casedigest. Further added alternating colors per row. * mpulsweb/controllers/phase.py (PhaseController.overview): Issue1256: Actions on phasepage are only displayed when changemode of phases is not full automatic. * mpulsweb/templates/phase/phase.mako: Issue1256: Display action buttons on phase page regarding to the new c.show_actions context variable. * mpulsweb/model/case.py (MpulsCaseState.getPhaseDescription): Issue1049: Do not display "running/finished" info for the unknown phase 2010-10-01 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.get_conditional_parents): New method to determine the conditionals from the instance tree containing a given tree item. (RepeatGroupRenderer.get_field_info): Evaluate the invisibility conditionals containing the field and return (None, None) if the field would be invisible in the rendered repeat group instance anyway to indicate that it should not be rendered in the digest either. (RepeatGroupRenderer.render_digest): Do not render fields that would be invisible in the rendered repeat group instance. Fixes mpuls/issue1103 2010-10-01 Torsten Irländer * mpulsweb/model/phase.py (Phase.getDescription): Return unescaped description of phase. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Load PhaseList from phasemodell * mpulsweb/templates/casemanagement/search.mako: Uses phaselist from phasemodel for rendering the phases instead of loading directly from mpuls-config. * mpulsweb/model/phase.py (Field.get_link): New function get_url. To get the url for a field an a forumular page * mpulsweb/model/phase.py (Field.get_link): Use new function get_url * mpulsweb/controllers/evaluate.py (EvaluateController.evaluate): Issue1253: Load phases from phasemodel. * mpulsweb/templates/evaluation/evaluate.mako: Issue1253: Uses phaselist from phasemodel for rendering the phases instead of loading directly from mpuls-config. 2010-10-01 Roland Geider * mpulsweb/public/styles/color3.css, mpulsweb/templates/logbook/overview.mako: fix some CSS bugs 2010-09-30 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest) (RepeatGroupRenderer.get_field_info): Move the code that fetches and parly formats description and value of a single digest field into the new method get_field_info 2010-09-30 Bernhard Herzog * mpulsweb/lib/renderer.py: Fix formatting 2010-09-30 Roland Geider * mpulsweb/model/logbook.py, mpulsweb/controllers/logbook.py, mpulsweb/lib/evaluation.py, mpulsweb/public/styles/color3.css, mpulsweb/templates/logbook/edit_body.mako, mpulsweb/templates/logbook/evaluation_typ.mako, mpulsweb/templates/logbook/overview.mako, mpulsweb/templates/logbook/evaluation.mako, mpulsweb/templates/privacy/default/privacy_statement.html: G121: implemented locating and non locating work (aufsuchende, nicht aufsuchende Arbeit) as types in the logbook 2010-09-30 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.printAll): Include headings of hierarchy elements that do not have pages of their own and would otherwise be omitted from the printed case. Fixes part of mpuls/issue1006 2010-09-29 Bernhard Herzog * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: The translations for "Editor appointed!" and "Stand-in appointed!" were swapped somehow. Correct this. Fixes mpuls/issue1135. 2010-09-29 Bernhard Herzog Implement mpuls/issue1099 * mpulsweb/lib/renderer.py (ErrorRenderer.render_items): Add parameter show_undo with default value True. If show_undo is true, the method adds an icon with an undo link to each item. (ErrorRenderer.render): Do not show the undo-link for warnings. Especially for warnings for missing required fields, undo makes no sense, as there's nothing to undo. 2010-09-29 Torsten Irländer Issue1027: * mpulsweb/templates/phase/phase.mako, mpulsweb/templates/casemanagement/digest.mako, mpulsweb/templates/casemanagement/main.mako: Do not escape name of the phase in templates as it can include html "­" to divide long phasenames. 2010-09-28 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_allowed_viewer_clause): Handle one more case of check boxes where checking none is equivalent to checking all: if neither 'own' nor 'standin' is selected, simply return TRUE to match all cases. 2010-09-28 Bernhard Herzog Change the search semantics for choices represented as check boxes: If None are checked, do not consider the corresponding search parameter at all, making it equivalent to checking all of them. Formerly it meant that none of the cases would match because the value of the corresponding field in the database had to be in the then emtpy set of checked values. Implements the mpuls base part of mpuls/issue1047 * mpulsweb/lib/search.py (CaseSearch.convert_form_parameters): Do not add 'state' and 'phase' to search_options if the corresponding list in the form parameters was empty. (CaseSearch.get_phases_dates_clause): Handle a missing 'phase' option as if all options were specified. Update the doc-string. 2010-09-28 Bernhard Herzog Show errors and warnings in the same order as the widgets on the page. Fixes mpuls/issue1106 * mpulsweb/lib/renderer.py (ViewRenderer.__init__): New instance variable widget_order to collect the order of the widgets on the rendered page. (ViewRenderer._checkWarnings): Add widget id to the widget_order list. (ErrorRenderer.__init__): New parameter and instance variable widget_order. Usually initialized with the widget_order list from a ViewRenderer instance. (ErrorRenderer.in_widget_order): Helper method to get the items from a dictionary of errors or warnings in widget_order (ErrorRenderer.render_items): Iterate over the items in widget order. * mpulsweb/controllers/formularpage.py (get_rendered_page): Instantiate the ErrorRenderer with the widget_order list of the rendered page. 2010-09-28 Torsten Irländer Issue1114: * mpulsweb/lib/config.py: Added new config variable to hide the "unknown" phase in the gui. Defaults to True. * templates/phase/phase.mako: Use new config var to hide "unknown" phase. Render "no required fields found" label if a phase has no required fields. * templates/casemanagement/digest.mako: Use new config var to hide "unknown" phase. * model/phase.py: Fixed handling phases with no required fields. Fixed building of predesessors. Currently each phase is limited to one predesessor. 2010-09-28 Torsten Irländer * mpulsweb/lib/helper/case.py (phase_time_in_weeks): Issue1121: Added new function to format duration of phase in casedigest in a more human readable form * mpulsweb/templates/casemanagement/digest.mako: Use new function phase_time_in_weeks. * mpulsweb/lib/helpers.py (format_number): Added optinal precision parameter. * mpulsweb/templates/phase/dialogs/success_set_phase.mako: Issue1115: Fixed helplink 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.undo): Turn a bare except into a more specific one and rework the code a little so that the try-except only covers the statement where the exception that we want to catch actually occurs. It's not completely clear, but the exception handler was probably only there to catch the case where the undo action is called for an item that is not in the uncommited_fields dictionary. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.edit): Remove unnecessary try-except clause around the self.select call. In other actions, there's no try-except either. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Remove unused imports. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Formatting. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController._before_set_data_hook): New. Hook method to make it easier for derived classes to influence the behavior of the save method. (FormularpageController.save): Call _before_set_data_hook before actually setting the data. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Introduce case_id variable to avoid duplicating the code to retrieve it. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save) (FormularpageController._check_case_validity): Move the validity checking code from the save method into the new method _check_case_validity. 2010-09-27 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save) (FormularpageController._handle_automatic_phase_change): Move the automatic phase change code from the save method to the new method _handle_automatic_phase_change. 2010-09-24 Torsten Irländer * mpulsweb/templates/casemanagement/digest.mako: Issue1121: Changed layout of digest a littlebit to add the duration in weeks to the casestateinfo. 2010-09-22 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save) (FormularpageController._handle_repeat_group_redirects): Move the repeat group handling parts of FormularpageController.save into the new method FormularpageController._handle_repeat_group_redirects 2010-09-20 Torsten Irländer * mpulsweb/public/styles/screen.css: Added class "disabled" style for formular fields. 2010-09-17 Torsten Irländer * mpulsweb/model/case.py: Fixed Dialogtext * mpulsweb/controllers/privacy.py (PrivacyController.decline): Issue1066. Do not allow declining EE-statement if case is and running and the condition for minimal constistence checks are false. * mpulsweb/controllers/privacy.py (PrivacyController.decline): Removed unused call of determineAnonymizedCaseEndPhaseName * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Add information if phase is finished or running after anonymisation. * mpulsweb/model/phase.py: Make comparissons of phase ids more robust. Cast the to int and str as needed. * mpulsweb/model/case.py: Issue1066: Check minimal required fields to to the phase the case will be anonymized in. 2010-09-17 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: issue1102: typo issue1064: typo 2010-09-16 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations 2010-09-16 Torsten Irländer * mpulsweb/model/case.py (MpulsCase.check_anonymizeability): Implement check if only the minimal required fields of a cases must be filled out to anonymize a case. * mpulsweb/templates/casemanagement/dialogs/failed_markanonymize.mako: Fixed template to use the failded.mako as parent. * mpulsweb/model/case.py (get_unknown_value): Fixed unknown value * mpulsweb/model/case.py (MpulsCase.make_anonymizable): Only end phase id make_consistent does not fail * mpulsweb/model/case.py (MpulsCase.make_consistent): Added optional parameter "endphase" to define the phase up to which the case will be made consistent. * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Put make_anonymizable in a try except block and show error dialog if something goes wrong. 2010-09-15 Torsten Irländer Issue1123: * mpulsweb/templates/logbook/show.mako, mpulsweb/templates/logbook/overview.mako: Only show links to edit, delete and create new appointments for editable cases. * mpulsweb/model/appointment.py, mpulsweb/templates/casemanagement/main.mako, mpulsweb/templates/casemanagement/appointmentlist.mako, mpulsweb/templates/casemanagement/showAppointment.mako, mpulsweb/templates/casemanagement/reminderlist.mako, mpulsweb/templates/casemanagement/appointments.mako: Only show editable appointments and reminders on blackboard. Only show links to edit, delete and create new appointments for editable cases. * mpulsweb/templates/documents/case_overview.mako: Only show delete and create new document links if the case is in an editable state. * mpulsweb/templates/casemanagement/organisation.mako: Only allow setting the editor or standin in editable cases. * mpulsweb/lib/config.py: Issue1066: Added new config var to determine if we need to check the full consitence of a case or just the minimal requirements for anonymisation. * mpulsweb/model/case.py (MpulsCase.check_anonymizeability): Issue1066: Adapted logic in controller to planned workflow for anonymisation 2010-09-15 Bernhard Herzog * mpulsweb/templates/evaluation/evaluate.mako: Add note about the selected cases with a link to reset that list. Add a hidden parameter selected_ids for the list of selected cases * mpulsweb/lib/validators.py (EvaluationFormValidator.selected_ids): New validator for the selected_ids form parameter. * mpulsweb/controllers/evaluate.py (get_search_options): New parameter selected_ids for the list of ids of the cases selected for evaluation. (EvaluateController.reset_filter): New. Reset the list of selected cases. (EvaluateController.evaluate, EvaluateController.evaluateAction): Pass the list of selected case ids to get_search_options (EvaluateController._get_evalparams): Add the test for the selected cases to the WHERE clause of the sql statement used for evaluation. 2010-09-15 Bernhard Herzog * mpulsweb/templates/casemanagement/overview.mako: Add action "evaluate" if the evaluation module is activated. * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Handle "evaluate" action. Stores the list of selected ids in the session under the key "evaluation_ids" * mpulsweb/templates/casebundle/dialogs/success_markevaluate.mako: New. Success-dialog for the evaluate bundle action 2010-09-15 Roland Geider * mpulsweb/public/styles/all.css, mpulsweb/public/styles/screen.css: Added browser specific names to border radius (-o-border-radius, -webkit-border-radius, -moz-border-radius) as well as the standard border-radius 2010-09-15 Roland Geider * mpulsweb/lib/renderer.py: issue938: use the same icon to create new repeatgroup entries in the overview 2010-09-15 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController._build_casebundle): Simplify by using the new all_ids form parameter 2010-09-14 Bernhard Herzog * mpulsweb/templates/casemanagement/overview.mako: Add hidden parameter all_ids for the list of ids of all the cases in the search result. This will avoid having to do an extra search when the user wants to apply an action to all cases in a search result. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Set form default value for all_ids * mpulsweb/lib/validators.py (BundleActionForm.all_ids): New validator for new parameter 2010-09-14 Bernhard Herzog * mpulsweb/lib/validators.py (BundleActionForm.action): Improve formatting. 2010-09-14 Bernhard Herzog * mpulsweb/controllers/evaluate.py (EvaluateController.evaluate) (EvaluateController.evaluateAction): Use log.exception instead of log.error. Now there's no need to print or log the traceback explicitly. (EvaluateController.evaluateAction): Log the exception when validating the parameters fails 2010-09-14 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseList.__nonzero__) (MpulsCaseList.__len__): New methods to make it easier to determine how many cases are contained in the case list. __nonzero__ is defined for backwards compatibility reasons, because so far, all MpulsCaseList instance were considered True. 2010-09-14 Roland Geider * mpulsweb/model/logbook.py, mpulsweb/templates/logbook/overview.mako: issue1078: can't sort logbook entries by editor 2010-09-14 Roland Geider * mpulsweb/templates/privacy/default/privacy_statement.html: issue1064: consistent use of the word "Einwilligungserklaerung" for the declaration of consent 2010-09-13 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Allow cases that are marked for anonymization or already anonymized to be exported. Fixes mpuls/issue865. 2010-09-13 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): There's no need to get the user object from the session for an export action. 2010-09-13 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.bundleAction): Combine the various export cases into one if-block. Apart from the format parameter in the export method call they were identical. 2010-09-13 Roland Geider * mpulsweb/lib/renderer.py: issue1147: incorrect handling of UTF-8 encoded strings in the repeat group overview 2010-09-10 Bernhard Herzog * mpulsweb/lib/config.py: Fix encoding. 2010-09-10 Bernhard Herzog Main part of mpuls/issue1085 * mpulsweb/lib/search.py (CaseSearch.get_phases_clause) (CaseSearch.get_dates_clause): Combined to form the new get_phases_dates_clause which has different semantics (CaseSearch.get_phases_dates_clause): New. The phase and date range search options are tightly related so they need to be handled together. If both phases and a date range is given, the clause returned now matches cases that were in the given phase during the given date range. (CaseSearch.get_where_subclauses): Adapt to above method changes. 2010-09-08 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: issue1064: consequent use of the word "Einwilligungserklaerung" for the declaration of consent 2010-09-09 Torsten Irländer Issue1023: * mpulsweb/lib/helpers.py (convertForDigest): New function to convert given values suitable for the digest output. Will localize dates an return srting representation for unknown values. * mpulsweb/templates/casemanagement/digest.mako: Use new function convertForDigest on digest page. 2010-09-08 Roland Geider * mpulsweb/public/styles/print.css: Issue1006: correctly represent repeat groups while in the print preview 2010-09-08 Torsten Irländer * mpulsweb/model/case.py (MpulsCaseFactory.loadById): Issue1112: Init case with loaded tags. LOAD_CASE_SQL: Load tags when loading case. 2010-09-07 Bernhard Herzog * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Fix typo in translation. 2010-09-06 Roland Geider * mpulsweb/model/logbook.py: issue1078: Sorting of logbook entries by name 2010-09-07 Torsten Irländer * mpulsweb/public/styles/all.css: Changed size (smaller) of Actions-Fields in overview. * mpulsweb/templates/casemanagement/caselist.mako: Uses custom style for caseoverview table * mpulsweb/public/styles/all.css: Added new custom style for overview table * mpulsweb/model/case.py (Field): Added new config var "overview_length" * mpulsweb/templates/casemanagement/caselist.mako: Use new config var "overview_length" to shorten field dynamically. * mpulsweb/lib/renderer.py (ViewRenderer._renderMatrix): Checkwarning for childs in RadioMatrix and render Label correctely 2010-09-06 Roland Geider * mpulsweb/templates/annotations/annotation.mako: change help template to produce valid HTML 2010-09-03 Bernhard Herzog * mpulsweb/lib/helpers.py (getHelp): The return value is already HTML. Wrap it in a literal so that it's not quoted again when used in a template. 2010-08-30 Roland Geider * mpulsweb/lib/config.py: issue990: Change the default dates for the evaluation section 2010-09-02 Frank Koormann * mpulsweb/templates/annotations/main.mako, mpulsweb/templates/evaluation/result.mako: Fix issue1035: Get page title from helper function instead of hard coded "WASKO". Shortcut icon dynamised as well. 2010-09-02 Frank Koormann * mpulsweb/templates/casemanagement/digest.mako: Fix issue992 (doubled print dialog): Overwrite buildContentHeader inherited from main.mako. 2010-08-31 Bernhard Herzog Only consider the extended search options when showing the extended search interface to the user. At the same time, try not lose the extended search options selected by the user. * mpulsweb/lib/search.py (CaseSearch.convert_form_parameters): New option extended to indicate whether the search is an extended search. * mpulsweb/controllers/case_bundle.py (CaseBundleController._build_casebundle): Call parseSearchOptions with the appropriate extended flag. * mpulsweb/controllers/case_overview.py (parseSearchOptions) (CaseOverviewController.parseSearchOptions): Add parameter extended. (CaseOverviewController.overview): Call parseSearchOptions with the appropriate extended flag. 2010-08-31 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_dates_clause): The options dictionary might not contain the "phase" key. 2010-08-31 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController._build_casebundle): Use search_options_from_session instead of equivalent duplicated inline code 2010-08-31 Bernhard Herzog * mpulsweb/controllers/case_overview.py (search_options_from_session, CaseOverviewController.overview): Move some code shared with case_bundle.py to the new function search_options_from_session. 2010-08-31 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_phases_clause): Use generic_int_choice_clause instead of having the equivalent code inline. Actually it's not completely equivalent: if "phase" is not in the options dictionary, the method returns 'TRUE' now instead of 'FALSE' as before. This shouldn't be a problem for mpuls though, and the phase option is handled like the other choice options now. 2010-08-31 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.generic_int_choice_clause): New. More generic way to handle a common case of search SQL subclause (CaseSearch.get_status_clause): Use generic_int_choice_clause instead of having the equivalent code inline. 2010-08-31 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.convert_form_parameters): Always include -1 in the state values. This behavior was accidentally removed in an earlier commit. 2010-08-31 Bernhard Herzog * mpulsweb/templates/casemanagement/caselist.mako: Do not add /case/select/ID links for cases that have been anonymized. 2010-08-31 Bernhard Herzog * mpulsweb/templates/casemanagement/search.mako: Do not hide search options for "Responsibility" and "Status" in simple search mode. 2010-08-30 Bernhard Herzog * mpulsweb/lib/validators.py (SearchCaseForm.state) (SearchCaseForm.phase): Make state and phase lists of integers. That way we don't have to convert them anymore when using dicts to pass the options to the search classes. This should have been part of the previous commit. 2010-08-30 Bernhard Herzog Make it possible to pass search parameters as a dict, too * mpulsweb/lib/search.py (Search.check_list) (Search.check_search_options): New. Helper functions to check the search parameters when they're given as a dictionary. (Search.perform): Accept the search parameters as a dictionary as well as as a string. (CaseSearch.convert_form_parameters): Return the converted parameters as a dictionary, not as a list of strings. (Search.VALID_OPTIONS): Add "search_string" * mpulsweb/controllers/case_bundle.py (CaseBundleController._build_casebundle): Adapt to parseSearchOptions and parseSortOptions returning dicts. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Adapt to parseSearchOptions and parseSortOptions returning dicts. (CaseOverviewController.parseSortOptions): Return the options as a dictionary to make it easier to combine them with the dict returned by parseSearchOptions 2010-08-30 Bernhard Herzog Unify the way search options and the search string are handled within the search classes. This is an incompatible change and requires updates to the MPuls applications that override or extend any of the affected methods. * mpulsweb/lib/search.py (Search._parse_search_str): Return the strings to search for in the options dictionary. The return value is now simply the options dictionary. (Search._build_sql, Search.perform): Adapt to _parse_search_str changes. Only pass the options dictionary to _build_sql. There's no separate argument for the search strings anymore. (CaseSearch.get_allowed_viewer_clause) (CaseSearch.get_editor_clause, CaseSearch.get_branch_clause) (CaseSearch.get_phases_clause, CaseSearch.get_dates_clause) (CaseSearch.get_status_clause, CaseSearch.get_gender_clause): Remove the search parameter. It's not needed anymore. (CaseSearch.get_where_subclauses): Remove the search parameter. It's not needed anymore. Adapt the get_*_claus calls. (CaseSearch.get_needle_clause): Remove the search parameter. It's not needed anymore. Take he search strings from the options dictionary. 2010-08-30 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: - Issue1053: Typo in anonymization dialog - Issue1046: Typo in declaration of consent 2010-08-30 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.MULTI_OPTIONS): Make sure to use the inherited MULTI_OPTIONS value as well. 2010-08-30 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_phases_clause): It's not guaranteed anymore that the options dictionary will have a "phase" key. Handle that case as if the value were an empty list. 2010-08-30 Bernhard Herzog * mpulsweb/lib/validators.py (BaseFormValidator.__init__): Call the base class constructor. Also, accept all kinds of parameters and pass them through to he base classe constructor. This way, it's possible to add more validators by simply instantiating a derived validator and passing the additional validators to the constructor as keyword arguments. 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (Search.VALID_OPTIONS) (Search.MULTI_OPTIONS): The options listed here were actually implemented only in CaseSearch. So remove them from here. (CaseSearch.VALID_OPTIONS, CaseSearch.MULTI_OPTIONS): Add the options that were removed from the base class. 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (Search.MULTI_OPTIONS): New. Lists all search options that are actually lists and may be given multiple times. (Search._parse_search_str): Use MULTI_OPTIONS to handle list options, instead of hard-wiring the names of those options. The values are now stored in the resulting optins dictionary under different keys, though, namely the same key as the option in the original search string, just like the other options. (CaseSearch.get_phases_clause, CaseSearch.get_dates_clause) (CaseSearch.get_status_clause): Adapt to new keys for the phase and status search options. 2010-08-27 Bernhard Herzog * mpulsweb/controllers/case_overview.py (CaseOverviewController.search): Call the case_search object's validate_form_params method instead of the using SearchCaseForm directly 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.validate_form_params): New. Validate search form parameters. It's a method on the search object now so that it can be extended by MPuls applications. 2010-08-27 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals._init_case): Instantiate case_search. * mpulsweb/model/case.py (MpulsCaseOverview.search): g.case_search is already instantiated. 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (Search.convert_form_parameters) (CaseSearch.convert_form_parameters): Move the method from Search to CaseSearch. The parameters it handles only make sense for CaseSearch 2010-08-27 Bernhard Herzog * mpulsweb/lib/validators.py (SearchCaseForm.cm_state): Removed. Not used anymore. 2010-08-27 Bernhard Herzog * mpulsweb/templates/casemanagement/search.mako: Remove big chunk of commented out old code. All options from that old code are implemented now. There's no need to keep it around. 2010-08-27 Bernhard Herzog * mpulsweb/templates/casemanagement/search_extra.mako: New. This mpuls base template does not really do anything. It's merely a hook for mpuls applications to add new options to the search page. * mpulsweb/templates/casemanagement/search.mako: Include search_extra.mako so that applications can easily add additional search options. 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (Search.convert_form_parameters): New. Only very slightly modified copy of parseSearchOptions in controllers/case_overview.py. Now it can easily be extended by applications. * mpulsweb/controllers/case_overview.py (parseSearchOptions): Now reduced to calling the convert_form_parameters of the application's case_search object. 2010-08-27 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_where_subclauses) (CaseSearch.get_where): Move the code that gathers all the sub-clauses into the separate method get_where_subclauses that returns a list with all the sub-clauses. This makes it easier for derived classes to add new sub-clauses. 2010-08-27 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals._init_case_): Add default implementation of this method. All derived mpuls applications implement this method in almost the same way. The only difference between the applications the name of the top-level package they import the modules from. To avoid duplication of code, implement the same functionality in the mpuls base and use import_overridable_module to import the application specific modules. 2010-08-26 Bernhard Herzog * mpulsweb/lib/search.py (SEARCH_QUERY, SEARCH_FIELDS) (SEARCH_ORDER): Removed. They're defined in the Search class now (Search.SEARCH_QUERY, Search.SEARCH_FIELDS, Search.SEARCH_ORDER): New. Move here from module level. (CaseSearch.get_fields, CaseSearch.get_order) (CaseSearch._build_sql): Access the moved string constants through the instance 2010-08-26 Bernhard Herzog * mpulsweb/templates/evaluation/evaluate_adele.mako: Removed. It's not used anymore and its functionality is handled by mpulsweb/templates/evaluation/evaluate.mako 2010-08-26 Bernhard Herzog * mpulsweb/templates/evaluation/evaluate.mako: evaluate.mako and evaluate_adele.mako are almost identical. The only difference is that in the adele version some input elements are disabled. Extend evaluate.mako a bit so that it can be for both the normal evaluations and the adele evaluations in order to reduce code duplication * mpulsweb/controllers/evaluate.py (EvaluateController.evaluate): Instead of using either evaluate.mako or evaluate_adele.mako, always use evaluate.mako and set c.adele_evaluation to indicate whether it's an adele evaluation or not. 2010-08-26 Roland Geider * mpulsweb/public/styles/print.css: don't hide widget-DIVs in the print mode 2010-08-25 Bernhard Herzog * mpulsweb/controllers/case.py (COPY_SUCCESS, COPY_SUCCESS_TEXT) (COPY_CONFIRM, COPY_CONFIRM_TEXT): Removed. Now inline in the code. (CaseController.copy): Move the messages into the method. Now the translation happens when the method is executed, not when the module is imported so that the proper translation is used even in mpuls applications override the translations provided by the base. 2010-08-25 Bernhard Herzog * mpulsweb/config/routing.py (make_map): Remove obsolete FIXME comment. 2010-08-25 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_gender_clause): Add missing search parameter which is needed now that all *_clause functions take the same parameters. 2010-08-24 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.markDelete) (CaseBundleController.delete, CaseBundleController.anonymize) (CaseBundleController.restore, CaseBundleController.set_standin): Fix typos. * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations 2010-08-24 Bernhard Herzog * mpulsweb/controllers/case_bundle.py: Fix formatting. Move some more strings into the methods. 2010-08-18 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations. 2010-08-18 Bernhard Herzog * mpulsweb/lib/validators.py (TimeDeltaCheck.messages): Use English for internationalized texts 2010-08-18 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Update translations. 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_branch_clause): Remove debug print 2010-08-17 Bernhard Herzog * mpulsweb/templates/casemanagement/search.mako: Add branch search option * mpulsweb/controllers/case_overview.py (parseSearchOptions): Handle branch option * mpulsweb/lib/search.py (CaseSearch.VALID_OPTIONS): Add "branch" (CaseSearch.get_branch_clause): New. Handle branch search criterion. (CaseSearch.get_where): Add branch search option. 2010-08-17 Bernhard Herzog * mpulsweb/lib/validators.py (SearchCaseForm.gender): Added. 2010-08-17 Bernhard Herzog * mpulsweb/controllers/case_overview.py (parseSearchOptions): Handle the gender options. Should have been part of the previous commit. 2010-08-17 Bernhard Herzog Add basic support for search based on gender * mpulsweb/lib/search.py (CaseSearch.get_gender_clause): New. Handle the conditional clause for gender searches (CaseSearch.get_where): Add gender clause. The default implementation simply returns 'TRUE' so derived classes will have to provide the appropriate application specific logic. The base class cannot really handle it because the actual values to search for are application dependend and not search based on gender doesn't make sense in all applications. * mpulsweb/templates/casemanagement/search.mako: Add options to search by gender if the current application supports it. 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (Search.supports_option): New. To be used by e.g. templates to determine which search options the current application supports 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (VALID_OPTIONS, Search.VALID_OPTIONS): Move the list of valid options into the search classes so that they can be extended derived mpuls applications. (Search._parse_search_str): Adapt to new location of VALID_OPTIONS (CaseSearch.VALID_OPTIONS): Extend the base class options with the standard options of the CaseSearch class 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (Search._parse_search_str): Remove bad_types and fields from return value. They are always emtpy. Put allowed_states and phases into the options dict and do not return them separately either. The return value has now been reduced to the search strings and the options dict. (CaseSearch.get_allowed_viewer_clause) (CaseSearch.get_editor_clause, CaseSearch.get_phases_clause) (CaseSearch.get_needle_clause, CaseSearch.get_dates_clause) (CaseSearch.get_status_clause): Always take search and options as parameters. Now all of these methods have the same interface. (Search._build_sql, CaseSearch.get_where, CaseSearch._build_sql): Adapt to the interface changes of the other methods 2010-08-17 Bernhard Herzog * mpulsweb/model/phase.py (PhasePart.__init__): Log a warning if a phase does not have an associated date field. The missing date field name will likely interfere with date-range searches. 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_where): Simply join the sub-clauses with " AND ". The SEARCH_WHERE template didn't do anything else now. (SEARCH_WHERE): Removed. No longer needed. 2010-08-17 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_status_clause): New. Build the conditional clause that selects cases based on the status. (CaseSearch.get_where): Use get_status_clause instead of building part of that clause inline in get_where. (SEARCH_WHERE): Adapt to new handling of he status clause 2010-08-16 Bernhard Herzog * mpulsweb/controllers/case_overview.py (get_sort): Refactor a little to avoid some duplications 2010-08-16 Bernhard Herzog Fix mpuls/issue860, and part of mpuls/issue979: * mpulsweb/controllers/case_overview.py (FORM_DEFAULTS_ADMIN) (FORM_DEFAULTS_CM, FORM_DEFAULTS_SORT, FORM_DEFAULTS_ORDER): Removed. Global variables must not be initialized from application specific data that may change on a per-request basis. (get_sort, CaseOverviewController.overview): Get the information formerly stored in the now removed FORM_* constants directly from g.mpuls_config so that the value is always the one that belongs to the active request. * mpulsweb/templates/casemanagement/search.mako: Add for-attribute to the label element for the "Unknown" phase checkbox so that one can click on the label to toggle the checkbox 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_phases_clause): Simplify the SQL expression substantially (there's no need for a subquery here at all) and simplify the python code a little. 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_needle_clause): Refactor to simplify the logic a little and generate a simple "TRUE" if no search terms were given by the user. 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_editor_clause): Refactor to make the logic clearer 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_allowed_viewer_clause): Clarify the logic a little, especially make it clearer what happens when the current user is an admin 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_where): Split into the following methods: (CaseSearch.get_allowed_viewer_clause) (CaseSearch.get_editor_clause, CaseSearch.get_phases_clause) (CaseSearch.get_needle_clause, CaseSearch.get_dates_clause): New methods for the various parts of get_where 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py: Add missing import 2010-08-13 Bernhard Herzog * mpulsweb/lib/search.py (CaseSearch.get_where): Change default implementation to be exactly what's used in all derived applications (with the exception of jmdstrukturweb). (SEARCH_WHERE): Copied from the derived applications as well for the get_where method 2010-08-13 Bernhard Herzog * mpulsweb/lib/session.py (MPulsSession.__delitem__): Remove superfluous third parameter. Fixes mpuls/issue971 2010-08-13 Torsten Irländer * mpulsweb/templates/casemanagement/digest.mako: Moved rendering into functions which can be overwritten to configuration specific behaviour. * mpulsweb/templates/casemanagement/digest_body.mako: Inherit from digest.mako. * mpulsweb/controllers/case.py (CaseController.digest): Render digest_body.mako now * mpulsweb/model/case.py (MpulsCaseState.isCmFinished): Fixed function. * mpulsweb/model/case.py (MpulsCaseState.get_formed_item): Make function public * mpulsweb/model/phase.py (PhasePart.load): Issue966: Fixed building links on phase overview page. * mpulsweb/lib/config.py: Added new configuration value to define the different types of logbook entries * mpulsweb/lib/helpers.py (render_logbook_typeoptions): Added new function to render the options for the different logbook type based on the configuration. 2010-08-12 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer.render) (ViewRenderer._renderAttributes, ViewRenderer._renderRepeatNav) (RepeatGroupRenderer.render_digest, RepeatGroupRenderer.render) (ErrorRenderer.render_items): Use url_for in such a way that it doesn't use routes memory. Route memory would for instance add the confirmed flag to the URLs generated which can lead to repeat group deletion links that bypass the confirmation step because the confirmed flag is already true. 2010-08-12 Torsten Irländer * mpulsweb/lib/config.py: Added new config var "casetype" in phases * mpulsweb/templates/casemanagement/digest_body.mako: Added more information on case current state of the case. * mpulsweb/public/images/kompetenz3.ico mpulsweb/public/images/mpuls.ico: Renamed favicons. * mpulsweb/templates/base.mako: Referenced new favicon. 2010-08-11 Bernhard Herzog * mpulsweb/lib/session.py: New. MPuls specific wrapper for the pylons session * mpulsweb/lib/app_globals.py (session): StackedObjectProxy instance holding the mpuls session object. * mpulsweb/lib/base.py: Import session from app_globals instead of using the one from pylons. (render_mako.render_template): Use the mpuls session as the session object. (BaseController.__before__): Register the right application specific mpuls session wrapper for the current request * mpulsweb/lib/helpers.py, mpulsweb/lib/navigation.py, mpulsweb/lib/security.py: Import session directly from app_globals instead of from pylons. Importing from base.py would introduce hard to resolve circular imports. 2010-08-11 Bernhard Herzog * mpulsweb/controllers/administration.py, mpulsweb/controllers/auth.py, mpulsweb/controllers/case.py, mpulsweb/controllers/casedocument.py, mpulsweb/controllers/evaluate.py, mpulsweb/controllers/formularpage.py, mpulsweb/controllers/mpuls.py, mpulsweb/controllers/news.py, mpulsweb/controllers/repeatgroup.py, mpulsweb/lib/dialogs.py, mpulsweb/lib/navigation.py, mpulsweb/lib/validators.py, mpulsweb/model/user.py: Import session from mpulsweb.lib.base instead of from pylons. This a preparation for the introduction of he mpuls specific session wrapper in base. * mpulsweb/lib/helpers.py, mpulsweb/lib/security.py: Still importing session from pylons here, so add a comment for this. This will be fixed when the mpuls session is introduced. 2010-08-10 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals.__init__): Do not initialize the old-style db_mapping_file anymore. The new db mapping should be usable for the same purpose as well. 2010-08-10 Bernhard Herzog Break some circular imports * mpulsweb/lib/helpers.py: Do not import anything from navigation anymore * mpulsweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako, mpulsweb/templates/formularpage/formular.mako, mpulsweb/templates/casemanagement/main.mako: Explicitly import get_pagename and render_navigation from navigation instead of relying on them being in h. 2010-08-10 Bernhard Herzog * mpulsweb/lib/navigation.py: Fix order of imports 2010-08-10 Bernhard Herzog * mpulsweb/controllers/case.py: Remove unused imports 2010-08-10 Bernhard Herzog * mpulsweb/controllers/privacy.py: Remove unused imports 2010-08-10 Bernhard Herzog * mpulsweb/controllers/case_overview.py: Remove unused imports 2010-08-10 Bernhard Herzog * mpulsweb/controllers/phase.py: Remove unused imports 2010-08-10 Bernhard Herzog * mpulsweb/model/user.py: Remove unused imports 2010-08-10 Bernhard Herzog * mpulsweb/controllers/tags.py: Remove unused imports 2010-08-10 Torsten Irländer Issue 907: * mpulsweb/templates/casemanagement/search.mako: Added error message to date field. * mpulsweb/controllers/case_overview.py (parseSearchOptions): Only add dates to search string if user provides start and end date. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Added errors to htmlfill. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Removed poping values with errors from session. We need the value to be displayed with the error message. 2010-08-09 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderRepeatContainer): Render help, or required Attributes on RG. 2010-08-06 Roland Geider * mpulsweb/controllers/case_overview.py, mpulsweb/lib/validators.py, mpulsweb/templates/casemanagement/search.mako: issue907: added date fields to case search 2010-08-06 Roland Geider * mpulsweb/templates/casemanagement/caselist.mako: issue879: use url_for for the icons in the case legend 2010-08-04 Bernhard Herzog * mpulsweb/i18n/mpulsweb.pot: Regenerate. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Merge with regenerated pot file and update translations 2010-08-04 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_allowed): internationalize exception messages 2010-08-04 Bernhard Herzog Update the message catalogs but do not add or change any of the translations. For some reason this update changes the formatting of mpulsweb.po considerably and any actual translation changes would be hidden among all the formatting changes. * mpulsweb/i18n/mpulsweb.pot: Regenerated. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Updated using the new pot file 2010-08-03 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.state_allows_import): Added to implement a simple check of the formed version. Requires libformed revision 212:3fb855168212 to actually work. 2010-08-03 Bernhard Herzog * mpulsweb/model/case.py (MPulsXMLImporter.import_xml): Extend base class method to better handle rule violations. (MPulsXMLImporter.format_errors): Helper method to format the rule errors as HTML Requires libformed revision 209:efef2d1727d3 2010-08-03 Torsten Irländer Issue664: * mpulsweb/lib/validators.py (TimeDeltaCheck.conv_dates): New Validator to check the timedelta between to given dates. * mpulsweb/model/case.py (SessionCase.getData: New function which returns the data of saved fields in sessioncase. * mpulsweb/controllers/case.py (_createCase): Moved logic to create a new case into a new function which can be used from other controllers too. Issue930: * mpulsweb/model/phase.py (PhaseList.get_reachable_path): Also check the first given phasepart. * mpulsweb/model/phase.py (PhasePart.getDescription): New function which return the description of the phasepart as string including the state (running, finished). * mpulsweb/model/phase.py: Added Dialogtexts for changing phases. * mpulsweb/controllers/formularpage.py (save): Depending on the configuration try to set the maximum reachable phase after saving data and validating the case. * mpulsweb/controllers/phase.py (PhaseController.editAction): Moved logic to set a phase into a separate function. This way setting the phase can be called from other places to. * mpulsweb/templates/phase/dialogs/success_fullautomatic_set_phase.mako, mpulsweb/templates/phase/dialogs/success_halfautomatic_set_phase.mako: New dialog templates for automatic and halfautomatic phase-setting. Issue878: * mpulsweb/model/phase.py (PhasePart.getLinks): Return a tuple with a dictionary holding the pages with its fields, and a order list which defines the order in which the pages will be renderered. * mpulsweb/templates/phase/phase.mako: Improved rendering of phases page. Fields are now separated in pages. 2010-08-02 Torsten Irländer * mpulsweb/public/formed/sprachen.xml, mpulsweb/public/formed/staatsangehoerigkeit.xml, mpulsweb/public/formed/laender.xml: Added external choice list in base. * mpulsweb/templates/casemanagement/upload.mako: Changed Layout of import template. Layout now better fits into the mpuls2 look and feel. * mpulsweb/templates/casemanagement/caselist.mako: Show icons for start and finished phases in legend. * mpulsweb/model/case.py (MpulsCase.checkValidity): Added function to implement application based tagging based on libmpuls-tagging functionality. * mpulsweb/controllers/formularpage.py (FormularpageController.save): If "checktags" is enabled in config. Check validity of case and set tags. 2010-07-30 Bernhard Herzog Add XML import feature. Requires libformed revision 207:d092a27ff9f1 * mpulsweb/templates/casemanagement/upload.mako, mpulsweb/templates/casemanagement/dialogs/success_xml_import.mako, mpulsweb/templates/casemanagement/dialogs/failed_xml_import.mako: New. Templates for the XML import feature. * mpulsweb/model/case.py (MPulsXMLImporter): New class to handle XML import. * mpulsweb/controllers/case.py (CaseController.importCase) (CaseController.importXMLAction): New methods to handle XML import. 2010-07-30 Torsten Irländer * mpulsweb/controllers/case_overview.py (get_sort): Issue860: Return either userdefind, session-saved, or default sort options (in that order). Save returned sort order for next call. * mpulsweb/controllers/logbook.py (LogbookController.delete): Issue912: Fixed deleting of logbook entrys. Fixed link for success-dialog. 2010-07-29 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderChoiceBool): Issue909: Do not show Bool-Leafs which are inisible as long as they are selected. * mpulsweb/lib/navigation.py (TreeItem.render): Enumerate Pages of RG in Navigation. * mpulsweb/lib/renderer.py (get_child_num): New. Function which returns the position of a given child in the sequence of its siblings. * mpulsweb/controllers/formularpage.py (get_rendered_page): Enumerate header of the rendered page if the page is in a RG. * mpulsweb/lib/config.py: Added new config vars to define the default sort-field and ordering in the case overview. * mpulsweb/controllers/case_overview.py (get_sort): User configured default sort and order if user does not choose another sorting. 2010-07-28 Torsten Irländer * mpulsweb/model/case.py (MpulsCase.make_consistent): Except error and ignore if the function tries to get Values from instance-nodes which do not have Values (i.e Groupnodes) this happens mostly because of misconfigured formedtrees where groupnodes are marked as required fields. * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Removed call to make a case anonymizable. The former check "check_anonymizeability" already checks if a case is anonymizable or not. Therefor there is no need to modify the case again. 2010-07-27 Bernhard Herzog * mpulsweb/lib/db.py (PostgresDBInterface.do_rollback) (PostgresDBInterface.do_commit): New methods to comply with changes in the libformed database interface. Requires libformed revision 192:bbeaeca49470 2010-07-27 Torsten Irländer * mpulsweb/public/styles/all.css, mpulsweb/public/styles/ie7.css: Issue902: Fixed rendering of checkboxes for IE6 and IE7 2010-07-26 Bernhard Herzog * mpulsweb/lib/db.py (PostgresDBInterface): Adapt to new DB interface of libformed. Requires libformed revision 189:04cc144d9567 2010-07-26 Torsten Irländer Issue871: * mpulsweb/model/phase.py (PhaseList.get_reachable_path): Fixed traversion the path and collecting the reachable phases. * mpulsweb/templates/phase/phase.mako: Only show phase which are a) on the path (from root) up to the current path, or b) are after the current path. So hide phases which are a a different branch of the phase-tree and therefor now completely irrelevant. 2010-07-23 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderRadio) (ViewRenderer._renderChoice, ViewRenderer._renderMatrix): Adapt to BoolLeaf changes in libformed. The getValue now returns int or None. Requires libformed revision 185:0db601d9f4bd 2010-07-23 Torsten Irländer * mpulsweb/templates/info/info.mako: Added information on abbreviations of "mpuls", "WASKO", "WASKA", "JMD" * mpulsweb/templates/phase/phase.mako: Issue883: Disabled "Start" and "End" Buttons for users who does not have the role "cm" * mpulsweb/templates/phase/phase.mako: Issue652: Disable "Start" and "End" Buttons if the case is not in a editable state. 2010-07-21 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderNumeric): Added new render function for numeric fields. * mpulsweb/lib/renderer.py (ViewRenderer._renderNumeric.uformat_numeric): Fixed function to return "unbekannt" if value is decimal.Deciaml(-9999999) 2010-07-20 Bernhard Herzog * mpulsweb/lib/db.py (PostgresDBInterface.releaseCursor): This method may be called with None as the cursor. Handle that case. 2010-07-20 Bernhard Herzog * mpulsweb/lib/renderer.py: Remove unused code and commented out code 2010-07-20 Torsten Irländer * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Issue 758. Disable debug messages on evaluations. 2010-07-16 Bernhard Herzog * mpulsweb/lib/renderer.py: Fix formatting. 2010-07-16 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderChoiceBool): rework this method almost completely. It's much shorter now but should work in the same way. This change also gets rid of some strange expressions and, like the rest of the renderer, now uses the tag function to create opening tags. 2010-07-12 Torsten Irländer * mpulsweb/lib/helper/case.py: Adding helper functions to work on formed or case in general. * mpulsweb/controllers/case.py: Fixed handling of confirmed value in copy function. * mpulsweb/public/styles/color3.css: Changed style for inactive formelements in "Verwaltungsfunktionen" * mpulsweb/model/phase.py: Load walk_it from case helpers 2010-07-12 Roland Geider * mpulsweb/templates/administration/overview_user.mako, mpulsweb/templates/privacy/default/privacy_statement.html: removed hyphen in Case-Management 2010-07-12 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/templates/casemanagement/digest_body.mako mpulsweb/templates/privacy/default/privacy_statement.html: removed hyphen from "Case-Management" 2010-07-09 Roland Geider * mpulsweb/lib/renderer.py, mpulsweb/public/styles/all.css: output the icons' URL from the renderer to make it work with projects that have more than one application (e.g. jmd and jmd-structure) 2010-07-08 Bernhard Herzog * development.ini: Include the date in log messages. Ported from jmd/trunk 2010-07-08 Roland Geider * mpulsweb/controllers/repeatgroup.py, mpulsweb/controllers/formularpage.py, mpulsweb/lib/renderer.py, mpulsweb/public/styles/all.css: Fixed issue815 from support.intevation.de/mpuls/: Repeat groups could not be created or deleted because the internet explorer does not send the 'value' of inputs of type="image", only the x and y coordinates. could also not be used because IE sends all the HTML it finds between its tags (and IE 6 sends the values of all on the page). Now we use regular buttons, misused their names and put CSS cosmetics to make them look like icons. 2010-07-08 Torsten Irländer * mpulsweb/lib/validators.py (KeineAngabe): Added new validator the check if a value is "Keine Angabe" in choicelists 2010-07-07 Torsten Irländer * mpulsweb/lib/config.py: Added new config var "changemode" for phases to configure how the phase change can be done. Change can be done "manually", "half automatic", "full automatic" * mpulsweb/model/phase.py (PhaseList.get_reachable_path, PhaseList.get_max_phase_id): New methods to determine the max reachable (valid) phase from start on. 2010-07-07 Bernhard Herzog * mpulsweb/templates/administration/new_user_result.mako: c.user_password is plain text and not HTML so it's wrong to wrap it in a h.literal. 2010-07-07 Roland Geider * mpulsweb/lib/renderer.py: don't use width atribute for inputs of type image as it is incorrect HTML 2010-07-06 Bernhard Herzog * mpulsweb/templates/casemanagement/caselist.mako (fields): Format the values using the new format_object function. This makes sure that shorten is always called with a string and that date objects are formatted properly. 2010-07-06 Bernhard Herzog * mpulsweb/lib/helpers.py (format_object): New. Generic object formatter for use in templates where the type of the object to render is may vary. 2010-07-06 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderInt.uformat_int): Added helper function wich will return "unbekannt" in case of value "-9999999" for integer fields. * mpulsweb/templates/casemanagement/main.mako: Moved Link for logbook from submenue "weitere optionen" one level up, as the logbook is usually used very frequently. Further this was a wish of J. Gregersen in WASKA. 2010-07-06 Roland Geider * mpulsweb/lib/helpers.py: Issue 804: round *down* to the nearest multiple of 5. 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.setEditor, MpulsCase.delete): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseState.setState) (MpulsCaseState.setPhase): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseState.setPhase): Use log.exception instead of printing a traceback directly to stderr. 2010-07-02 Bernhard Herzog * mpulsweb/model/appointment.py (Appointment.store) (Appointment.delete): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/appointment.py (Appointment.store): Use log.exception instead of log.error to log exceptions and add a log message 2010-07-02 Bernhard Herzog * mpulsweb/model/document.py (deleteDocument): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/user.py (UserObject.setNewsAsRead) (UserObject.setStandin): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/user.py (UserObject.store, UserObject.delete): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/user.py (UserGroup.delete, UserGroup.store): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/user.py (UserGroup.delete): Fix exception log message 2010-07-02 Bernhard Herzog * mpulsweb/model/logbook.py (LogbookEntry.storeForUser) (Logbook.deleteEntryById): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/model/statement.py (PrivacyStatement.sign) (PrivacyStatement.keepUndefined, PrivacyStatement.decline): Use DB.execute to execute the database transactions 2010-07-02 Bernhard Herzog * mpulsweb/lib/security.py (checkLogin): Use DB.execute to execute the UPDATE_LASTLOGIN_SQL statement 2010-07-02 Bernhard Herzog * mpulsweb/lib/db.py (DB.execute): New. Handle the common case where one SQL statement has to be executed as a transaction. This should be used in all places where appropriate to make sure that commit and rollback are handled properly. 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseState.setState): Use log.exception instead of printing a traceback directly to stderr. 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.delete): Use log.exception properly and add a log message. 2010-07-02 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.setEditor): Use log.exception properly and add a log message. 2010-07-02 Bernhard Herzog * mpulsweb/controllers/formularpage.py: Remove an except clause that only logs the exception and then reraises it. Logging should already be handled by the pylons system in some way, so there's no need to do it again here. Also, redirections are implemented as exceptions, so that the exceptions for the redirections for the repeat group new/delete actions would also be logged as exceptions. These were logged as errors by this except clause leading to the false impression that they were errors. 2010-07-02 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save): Make sure not use routes memory when generating the redirection URLs for the deletion/addition of repeat groups. For the delete URLs the confirmed flag would already be set on the URL after the first deletion so that subsequent deletions would not ask for confirmation anymore. 2010-07-02 Bernhard Herzog * mpulsweb/controllers/formularpage.py (FormularpageController.save): Use redirect_to instead of redirect with an explicit url_for call. The former combines redirect and url_for. 2010-07-02 Bernhard Herzog * mpulsweb/controllers/formularpage.py: pylons.h is deprecated. The onyl thing used from that module was 'url'. (FormularpageController.save): Use url_for from mpulsweb.lib.helpers instead of url from pylons.h Fixes mpuls/issue806 2010-07-02 Roland Geider * mpulsweb/lib/helpers.py: Round up the time the session ends to the nearest 5 min. Also, don't show the seconds. 2010-06-30 Bernhard Herzog * development.ini: Add logging configuration for an optional RotatingFileHandler and a comment describing how to activate it. Ported from jmd/trunk. 2010-06-29 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderRadio): Make it actually work. Doesn't look as nice as in WASKO 1.7, currently, though. 2010-06-22 Roland Geider * impulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po, mpulsweb/lib/renderer.py: use ungettext to show the correct plural form in RG overviews 2010-06-28 Bernhard Herzog * mpulsweb/lib/security.py (getKAName): Refactor into several functions. Revert precedence to what it was before r2407, analogous to the previous change to getDbName. Values from the SSL-certificates take precedence over the configuration again. (get_kaname_from_http_header): New. Contains the HTTP-Header decoding part of getKAName(). The logic has changed a bit: the value extracted from the DN is the value of the last OU field. (get_kaname_from_config): New. Contains the configuration based part of getKAName(). 2010-06-28 Bernhard Herzog * mpulsweb/lib/security.py (getDbName): Refactor into several functions. Revert semantics back to the way they were before r2407: The information from the SSL-client certificates takes precedence and the value from the configuration file is used as fallback. Giving the configuration precedence over the values from the certificates can easily lead to misconfigurations. The fall-back value from configuration is mainly used for testing and is often even the same as the one in the test-certificates used but will not work for the real users. (get_dbname_from_http_header): New. Contains the HTTP-Header decoding part of getDbName() (get_dbname_from_config): New. Contains the configuration based part of getDbName 2010-06-24 Bernhard Herzog * mpulsweb/config/environment.py (load_environment): Take the cache directory from Pylon's config instead of app_conf. This allows setting the cache_dir in the DEFAULT section of the ini-file. In config the cache directory is stored under a different key: Pylons store the value of cache_dir in config under the key pylons.cache_dir and the removes the cache_dir key. 2010-06-24 Torsten Irländer * mpulsweb/templates/casemanagement/main.mako: Do not allow to create reminders if appointments are disabled. 2010-06-23 Bernhard Herzog * mpulsweb/config/middleware.py (make_redirector): New. Creates a WSGI application that always responds with permanent redirects. This is in Support of combined MPuls applications in JMD where accessing / should redirect to one of two MPuls applications, neither of which is mounted at /. * mpulsweb.egg-info/entry_points.txt: Add app_factory for make_redirector 2010-06-23 Torsten Irländer * mpulsweb/controllers/case.py: Use translated strings in some dialogs now * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translations. * mpulsweb/controllers/case.py: Use ungetext for some translations. 2010-06-22 Roland Geider * mpulsweb/public/styles/all.css: use the same background color for readonly textareas 2010-06-22 Bernhard Herzog * mpulsweb/lib/helper/filters.py (H): Removed. Not used anymore. The default escaping in Mako and the tag function in helpers should take care of practically all use cases for this function. 2010-06-21 Torsten Irländer * mpulsweb/controllers/case.py, mpulsweb/lib/validators.py, mpulsweb/templates/casemanagement/new.mako: Implemented basic creation of cases. No addional data is set beside, bearbeiter_id and einverstaendnis. 2010-06-21 Torsten Irländer * mpulsweb/model/case.py (MpulsCaseFactory._initNewCase): Added pass statement 2010-06-18 Bernhard Herzog * mpulsweb/templates/appointments/show_body.mako, mpulsweb/templates/logbook/show.mako: Use nl_to_br to convert newlines for HTML instead of having the code inline. 2010-06-18 Bernhard Herzog * mpulsweb/templates/logbook/overview_print.mako: Use nl_to_br to convert newlines for HTML instead of having the code inline. 2010-06-18 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderTextArea): Use nl_to_br to convert newlines for HTML instead of having the code inline. 2010-06-18 Bernhard Herzog * mpulsweb/templates/auth/login.mako: Simplify escaping. 2010-06-18 Bernhard Herzog * mpulsweb/templates/appointments/remindlist_body.mako, mpulsweb/templates/appointments/show_body.mako, mpulsweb/templates/home/globalappointmentlist.mako, mpulsweb/templates/logbook/overview.mako, mpulsweb/templates/logbook/overview_print.mako, mpulsweb/templates/logbook/show.mako: Avoid extra HTML escaping 2010-06-18 Bernhard Herzog * mpulsweb/controllers/appointment.py (AppointmentController.createAction): Fix form_result reference 2010-06-18 Bernhard Herzog * mpulsweb/templates/appointments/dialogs/confirm.mako, mpulsweb/templates/appointments/dialogs/failed_delete_appointment.mako, mpulsweb/templates/appointments/dialogs/success_create_appointment.mako, mpulsweb/templates/appointments/dialogs/success_delete_appointment.mako, mpulsweb/templates/appointments/dialogs/success_edit_appointment.mako: Use h.url_for consistently for all-intra application URLs. 2010-06-18 Bernhard Herzog * mpulsweb/lib/helpers.py (getHelp): Use tag to generate HTML tags with proper escaping and generate URLs with url_for. (get_export_selector): Escape HTML properly and use tag to generate URLs 2010-06-18 Bernhard Herzog * mpulsweb/templates/usersettings/change_password.mako: Generate correct URL for "Mein Konto" in buildNavipath 2010-06-11 Roland Geider * mpulsweb/public/styles/all.css: use the same border for readonly elements 2010-06-11 Roland Geider * mpulsweb/public/styles/screen.css: apply the same style to textareas as to input fields 2010-06-15 Bernhard Herzog * mpulsweb/templates/settings/edit.mako, * mpulsweb/templates/usersettings/change_password_login.mako: Avoid double HTML escaping 2010-06-15 Bernhard Herzog * mpulsweb/templates/settings/edit.mako, mpulsweb/templates/casemanagement/organisation.mako, mpulsweb/templates/casemanagement/search.mako: Avoid double HTML escaping 2010-06-15 Bernhard Herzog * mpulsweb/templates/logbook/edit_body.mako, mpulsweb/templates/logbook/overview.mako, mpulsweb/templates/logbook/overview_print.mako, mpulsweb/templates/logbook/show.mako: Avoid double HTML escaping 2010-06-15 Bernhard Herzog * mpulsweb/templates/administration/edit_user.mako, mpulsweb/templates/administration/edit_usergroup.mako, mpulsweb/templates/administration/new_user_result.mako, mpulsweb/templates/administration/reset_password.mako: Avoid extra HTML escaping 2010-06-15 Bernhard Herzog * mpulsweb/templates/appointments/appointment_form.mako: Removed. Not used anywhere. 2010-06-15 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.copy): Implement copying of cases. Requires libformed revision 142:3d9f24af7ee8. 2010-06-14 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.__before__): Add config option for the url to which clients that are not logged in are redirected. This is useful for JMD where we have two MPuls applications which should share the login pages, so the default intra-application links do not work. 2010-06-14 Bernhard Herzog * mpulsweb/model/case.py (Field.__repr__): Added for more informative debug logs (MpulsCase.__getattr__): Improve debug log contents. 2010-06-11 Torsten Irländer Changed validity icons. Ported from 1.7.1 branch of waska * mpulsweb/public/images/svg/validity-0.svg, mpulsweb/public/images/icons/validity-0-22.png, mpulsweb/public/images/icons/validity-4-22.png, mpulsweb/public/images/icons/validity-5-22.png: Changed Icons 2010-06-11 Torsten Irländer * mpulsweb/lib/helpers.py (tag): Fixed isseu770. Changed "escaping" while building tags in formular page * mpulsweb/model/case.py (MpulsCase.getValidity): Implemented setting the validity based on validity configuration in config file. * mpulsweb/lib/config.py: Added some comments on validity configuration and only enable "Nicht auswertbar" validity 2010-06-11 Roland Geider * mpulsweb/public/images/svg/copy.svg, mpulsweb/public/images/icons/copy-22.png: new "copy" icon 2010-06-11 Roland Geider * mpulsweb/templates/settings/show.mako: don't escape table header 2010-06-11 Roland Geider * mpulsweb/public/images/icons/new_22.png: (new) bigger icon 2010-06-10 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.get_value): Fix typo. 2010-06-10 Bernhard Herzog * mpulsweb/controllers/administration.py: Fix formatting. 2010-06-10 Bernhard Herzog * mpulsweb/lib/translation.py: Import LanguageError too. 2010-06-10 Torsten Irländer * mpulsweb/lib/config.py: New Config option for anonymization of cases. * mpulsweb/templates/casemanagement/search.mako: Only show search option for anonymized cases if anonymization is enabled. * mpulsweb/templates/casemanagement/overview.mako: Only show anonyization-actions if anonymization is enabled. * mpulsweb/templates/casemanagement/caselist.mako: Only show anonyization-actions if anonymization is enabled. * mpulsweb/lib/config.py: Added new config option to enable/disable to organisation part (standin, editor settings) * mpulsweb/templates/casemanagement/main.mako: Only show organisation link if organisation is enabled. * mpulsweb/templates/administration/show_user_body.mako: Only show information on standin if organisation is enabled. * mpulsweb/templates/usersettings/show_settings.mako: Only show link to set standard-standin if organisation is enabled. * mpulsweb/templates/casemanagement/search.mako: Only show search options (standin, editor) for cm user if organisation is enabled * mpulsweb/templates/casemanagement/caselist.mako: Only show icons for editor and standin if organisation is enabled. * mpulsweb/templates/casemanagement/overview.mako: Only show bundle action to set standin or editor if organisation is enabled. 2010-06-09 Bernhard Herzog * mpulsweb/model/user.py (UserObject.setData): The handling of the login-names is a bit more complex, after all. In some cases the data dictionary has the full database login name, sometimes only the short web login name, but in both cases it's stored under the "login" key. So we change the behavior a little and allow the caller to either specify the full login name in "full_login" or the short login name in "login". This fixes a bug introduced with the earlier change. (UserListObject.__init__): Store the login name under the key "full_login" in the data dictionary to adapt to the changed behavior of UserObject.setData 2010-06-09 Bernhard Herzog * mpulsweb/lib/security.py (checkRole.validate): Log the original exception if an OperationalError is raised by the wrapped function before raising the HTTPUnauthorized exception. The original exception may contain important information about the actual database problem and discarding it would make debugging much harder. 2010-06-09 Bernhard Herzog * mpulsweb/controllers/navigation.py, mpulsweb/lib/base.py, mpulsweb/lib/dialogs.py, mpulsweb/lib/security.py: Import HTTP Exceptions from webob.exc instead of paste.httpexceptions. The ones from paste.httpexceptions are deprecated and do not work properly with mpulsweb/controllers/error.py. When one of the paste.httpexceptions is used it leads to an exception in webob/response.py ("AssertionError: Content-Length is different from actual app_iter length") in code called pulsweb/controllers/error.py. Using the exception classes from webob.exc fixes this. 2010-06-09 Bernhard Herzog * mpulsweb/model/user.py (UserObject.setData): The login name from the data argument is the short login name stored in self.login, not the full database login name for self.full_login. Change the code accordingly and document the treatment of the login name in this method. 2010-06-09 Bernhard Herzog * mpulsweb/model/user.py (SessionSuperAdmin.__init__): Remove line that should have been removed with the change to use parse_dblogin 2010-06-09 Bernhard Herzog * mpulsweb/model/user.py (parse_dblogin): New. Helper function to extract the web login name and agency name from the full database login name. (SessionUser.__init__, SessionSuperAdmin.__init__) (UserObject.setAdmUser, UserObject._fetchData): Use parse_dblogin instead of equivalent inline code. 2010-06-09 Torsten Irländer * mpulsweb/lib/translation.py: New. Copied from pylons.i18n.translations to allow configurable location of language files * mpulsweb/lib/base.py: Set language based on configured language files. * mpulsweb/config/environment.py: Add i18n-path to pylons.paths. * mpulsweb/lib/base.py (render_mako): Added new function which uses own translator for template rendering * mpulsweb/lib/translation.py (ugettext): New function to translate a string * mpulsweb/templates/casemanagement/caselist.mako: Import '_' from lib.translation * mpulsweb/lib/translation.py (ungettext): new function to translate a string in plural forms. 2010-06-09 Roland Geider * mpulsweb/templates/home/home.mako: added image size to template 2010-06-09 Roland Geider * Changes.txt: updated changes file 2010-06-08 Roland Geider * mpulsweb/templates/casemanagement/caselist.mako: show the status icon with unknown phase * mpulsweb/templates/casemanagement/digest_body.mako: make the validity icon configurable * mpulsweb/lib/config.py: added comment on config var 2010-06-08 Roland Geider * mpulsweb/lib/config.py, mpulsweb/templates/casemanagement/main.mako: make the case copy function configurable 2010-06-07 Torsten Irländer * mpulsweb/model/case.py (MpulsCase.copy): Added new dummy function to copy a case. * mpulsweb/controllers/case.py (CaseController.copy): New controller function to copy a case. * mpulsweb/templates/casemanagement/main.mako: Added new action "copy" to case menu. 2010-06-03 Roland Geider * mpulsweb/templates/auth/logout.mako: Fixed wald issue #1506 (typo) 2010-06-03 Bernhard Herzog Unify the way the database connection parameters are determined to avoid code duplication and to make sure it always works the same way. * mpulsweb/lib/security.py (get_db_parameters): New. Determine the database connection parameters from user-specific information like the username and password and defaults from the configuration. This function also takes the db mapping into account. (checkLogin): use get_db_parameters to determine the database parameters. Also, make sure to use login name from the database parameters to lookup the user in the database. Using get_db_parameters makes sure that the db mapping is taken into account here, so that logging in with an active db-mapping actually works. * mpulsweb/lib/base.py: use the new get_db_parameters to determine the database parameters. 2010-06-03 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.__before__): Use request.path_info, not request.path, when checking whether to the user is already accessing a page we want to redirect to. This avoid infinite redirects when the application is mounted under a non-empty prefix. 2010-06-03 Bernhard Herzog * mpulsweb/lib/db.py (DB.__init__): Rename parameter and instance variable dbname to database. This is a bit less confusing, because "dbname" is used in other parts of the MPuls code base for the agency identifier used as part of the database name and the database login names. The new name is also exactly the name used in the DB API connect call so that now all parameter that are passed through to the connect call have the same names. (DB.getConnection): Adapt to parameter/instance variable renaming * mpulsweb/lib/base.py (BaseController.__before__): Adapt to parameter renaming in DB.__init__ * mpulsweb/lib/security.py (checkLogin): Adapt to parameter renaming in DB.__init__ 2010-06-03 Torsten Irländer * mpulsweb/controllers/evaluate.py (EvaluateController.evaluateAction): Do not define start end end field for dates in evaluation as they are already defined in the search subquery. * mpulsweb/templates/casemanagement/caselist.mako: Fixed showing validity icons in caselist * mpulsweb/model/case.py (MpulsCase.getValidity): Added new function which will return the max valitiy of a case based on set tags. Currently only a dummy function. * mpulsweb/templates/casemanagement/caselist.mako: Ask case object for its validity and show icon. * mpulsweb/lib/config.py: Changed default validity phases. * mpulsweb/templates/casemanagement/digest_body.mako: Added information on phase and validity in case digest. 2010-06-02 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals.__init__): Refactor common code to determine filenames from the configuration into a helper function. 2010-06-01 Bernhard Herzog * mpulsweb/lib/validators.py (ValidatorStateObject.__setattr__) (ValidatorStateObject.__getattr__): Removed. They implemented standard behavior of Python objects. 2010-06-01 Bernhard Herzog * mpulsweb/controllers/administration.py (AdministrationController.newUserAction) (AdministrationController.editUserGroupAction): Instantiate ValidatorStateObject so that the new instance is used as the state, not the class itself. When using the class instead of a new instance all threads will effectively share the same state, which leads to races. 2010-05-31 Bernhard Herzog * mpulsweb/lib/db.py (db): Get rid of one more "waska" reference: use "mpuls.db" as the name of the db StackedObjectProxy. 2010-05-31 Bernhard Herzog * mpulsweb/lib/validators.py (SearchCaseForm.editor): The "editor" parameter is not always present, so supply a default value to avoid errors. The editor field is only part of the search form for admins. 2010-05-31 Bernhard Herzog * mpulsweb/templates/casemanagement/search.mako: HTML-escaping is the default filter in templates, so it's wrong now to do it explicitly. 2010-05-31 Torsten Irländer * mpulsweb/controllers/caseappointment.py (CaseappointmentController.newAction): Do not lose values on form errors. * mpulsweb/model/appointment.py (Appointment.setData): If no enddate was given assume a 24h appointment -> start_date + 24h = end_date * mpulsweb/controllers/appointment.py (AppointmentController.createAction):Do not loose values on form errors. * mpulsweb/lib/validators.py (DateOrder.validate_python): Fixed DateOrder validator. 2010-05-28 Bernhard Herzog * mpulsweb/model/phase.py: Remove unused imports. 2010-05-28 Bernhard Herzog * mpulsweb/model/phase.py (Field.get_link): Use h.url_for consistently for all-intra application URLs. 2010-05-28 Bernhard Herzog * mpulsweb/model/phase.py (Field.get_link): Use the tag function to generate tags with attributes. 2010-05-28 Bernhard Herzog * mpulsweb/controllers/evaluate.py (get_phasesuccessors): New. Moved here from helpers. * mpulsweb/lib/helpers.py (get_phasesuccessors): Removed. It's now in controllers/evaluate.py 2010-05-27 Bernhard Herzog * mpulsweb/lib/helpers.py (tag): Moved here from renderer because it's useful in other modules besides the renderer. * mpulsweb/lib/renderer.py (tag): Removed. It's now imported from helpers. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/usersettings.py (UsersettingsController.editStandinAction): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/settings.py (SettingsController.editAction): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/repeatgroup.py (RepeatgroupController.delete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/privacy.py (PrivacyController.decline): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/news.py (NewsController.hide): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/appointment.py: Add missing import. 2010-05-26 Bernhard Herzog * mpulsweb/templates/logbook/overview.mako: Correct some url_for calls. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/logbook.py (LogbookController.show) (LogbookController.newAction, LogbookController.edit) (LogbookController.editAction, LogbookController.delete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/document.py (DocumentController.globalDelete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/templates/casemanagement/caselist.mako: Pass the confirmed flag to url_for with the correct name. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/case.py (CaseController.markForDelete) (CaseController.delete, CaseController.markForAnonymize) (CaseController._markForAnonymize, CaseController.anonymize) (CaseController.anonymize, CaseController.restore): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/casedocument.py (CasedocumentController.delete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController._empty_caselist) (CaseBundleController.no_action) (CaseBundleController.markDelete, CaseBundleController.delete) (CaseBundleController.delete) (CaseBundleController.markAnonymize) (CaseBundleController.anonymize, CaseBundleController.restore) (CaseBundleController.set_editor) (CaseBundleController.set_standin): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/caseappointment.py (CaseappointmentController.delete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/appointment.py (AppointmentController.createAction) (AppointmentController.editAction) (AppointmentController.delete): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/controllers/administration.py (AdministrationController.editUserAction) (AdministrationController.resetUserPassword) (AdministrationController.deleteUser) (AdministrationController.deleteUserHelper) (AdministrationController.newUserGroupAction) (AdministrationController.editUserGroupAction) (AdministrationController.deleteUserGroup): Use h.url_for consistently for all-intra application URLs. 2010-05-26 Bernhard Herzog * mpulsweb/templates/auth/logout.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/usersettings/show_settings.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/tags/tags.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/settings/dialogs/success_edit.mako, mpulsweb/templates/settings/edit.mako, mpulsweb/templates/settings/show.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/privacy/default/privacy_statement.html, mpulsweb/templates/privacy/dialogs/accept_success.mako, mpulsweb/templates/privacy/dialogs/confirm.mako, mpulsweb/templates/privacy/dialogs/decline_failed.mako, mpulsweb/templates/privacy/dialogs/decline_success.mako, mpulsweb/templates/privacy/dialogs/missing_statement.mako, mpulsweb/templates/privacy/dialogs/missing_statement_body.mako, mpulsweb/templates/privacy/edit_statement.mako, mpulsweb/templates/privacy/list_statements.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/phase/dialogs/success_set_phase.mako, mpulsweb/templates/phase/phase.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/main.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/logbook/dialogs/confirm_delete_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/failed_create_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/failed_delete_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/failed_save_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/failed_show_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/success_create_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/success_delete_logbook_entry.mako, mpulsweb/templates/logbook/dialogs/success_save_logbook_entry.mako, mpulsweb/templates/logbook/edit.mako, mpulsweb/templates/logbook/new.mako, mpulsweb/templates/logbook/overview.mako, mpulsweb/templates/logbook/overview_print.mako, mpulsweb/templates/logbook/show.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/home/caseappointmentlist.mako, mpulsweb/templates/home/globalappointmentlist.mako, mpulsweb/templates/home/remindlist.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/formularpage/formular.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/evaluation/evaluate.mako, mpulsweb/templates/evaluation/evaluate_adele.mako, mpulsweb/templates/evaluation/result.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/documents/case_new.mako, mpulsweb/templates/documents/case_overview.mako, mpulsweb/templates/documents/dialogs/confirm.mako, mpulsweb/templates/documents/dialogs/delete_attachment_success.mako, mpulsweb/templates/documents/dialogs/delete_document_success.mako, mpulsweb/templates/documents/dialogs/failed_attachment.mako, mpulsweb/templates/documents/dialogs/failed_document.mako, mpulsweb/templates/documents/dialogs/success_attachment.mako, mpulsweb/templates/documents/dialogs/success_documents.mako, mpulsweb/templates/documents/global_overview.mako, mpulsweb/templates/documents/global_upload.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/dialogs/confirm.mako, mpulsweb/templates/dialogs/failed.mako, mpulsweb/templates/dialogs/notification.mako, mpulsweb/templates/dialogs/success.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/casemanagement/appointmentlist.mako, mpulsweb/templates/casemanagement/appointments.mako, mpulsweb/templates/casemanagement/caselist.mako, mpulsweb/templates/casemanagement/dialogs/confirm.mako, mpulsweb/templates/casemanagement/dialogs/confirm_anonymize.mako, mpulsweb/templates/casemanagement/dialogs/confirm_delete.mako, mpulsweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako, mpulsweb/templates/casemanagement/dialogs/confirm_delete_attachment.mako, mpulsweb/templates/casemanagement/dialogs/confirm_export.mako, mpulsweb/templates/casemanagement/dialogs/confirm_markanonymize.mako, mpulsweb/templates/casemanagement/dialogs/confirm_restore.mako, mpulsweb/templates/casemanagement/dialogs/failed_markanonymize.mako, mpulsweb/templates/casemanagement/dialogs/success_anonymize.mako, mpulsweb/templates/casemanagement/dialogs/success_create_appointment.mako, mpulsweb/templates/casemanagement/dialogs/success_delete.mako, mpulsweb/templates/casemanagement/dialogs/success_delete_appointment.mako, mpulsweb/templates/casemanagement/dialogs/success_delete_attachment.mako, mpulsweb/templates/casemanagement/dialogs/success_delete_cm.mako, mpulsweb/templates/casemanagement/dialogs/success_edit_appointment.mako, mpulsweb/templates/casemanagement/dialogs/success_export.mako, mpulsweb/templates/casemanagement/dialogs/success_keepactive.mako, mpulsweb/templates/casemanagement/dialogs/success_markanonymize.mako, mpulsweb/templates/casemanagement/dialogs/success_restore.mako, mpulsweb/templates/casemanagement/digest.mako, mpulsweb/templates/casemanagement/digest_body.mako, mpulsweb/templates/casemanagement/editAppointment.mako, mpulsweb/templates/casemanagement/main.mako, mpulsweb/templates/casemanagement/new.mako, mpulsweb/templates/casemanagement/newAppointment.mako, mpulsweb/templates/casemanagement/organisation.mako, mpulsweb/templates/casemanagement/overview.mako, mpulsweb/templates/casemanagement/reminderlist.mako, mpulsweb/templates/casemanagement/search.mako, mpulsweb/templates/casemanagement/showAppointment.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/casebundle/dialogs/confirm_anonymize.mako, mpulsweb/templates/casebundle/dialogs/error.mako, mpulsweb/templates/casebundle/dialogs/success_anonymize.mako, mpulsweb/templates/casebundle/dialogs/success_delete_admin.mako, mpulsweb/templates/casebundle/dialogs/success_editor.mako, mpulsweb/templates/casebundle/dialogs/success_markdelete.mako, mpulsweb/templates/casebundle/dialogs/success_standin.mako, mpulsweb/templates/casebundle/editor.mako, mpulsweb/templates/casebundle/standin.mako: Use h.url_for consistently for all-intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/base.mako: Use h.url_for consistently for all intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/annotations/main.mako, mpulsweb/templates/appointments/appointment_form.mako, mpulsweb/templates/appointments/appointmentlist.mako, mpulsweb/templates/appointments/edit.mako, mpulsweb/templates/appointments/new.mako, mpulsweb/templates/appointments/overview.mako, mpulsweb/templates/appointments/show.mako, mpulsweb/templates/auth/main.mako: Use h.url_for consistently for all intra application URLs. 2010-05-25 Bernhard Herzog * mpulsweb/templates/administration/show_usergroup.mako, mpulsweb/templates/administration/show_user.mako, mpulsweb/templates/administration/reset_password.mako, mpulsweb/templates/administration/overview_usergroups.mako, mpulsweb/templates/administration/overview_user.mako, mpulsweb/templates/administration/new_usergroup.mako, mpulsweb/templates/administration/new_user_result.mako, mpulsweb/templates/administration/new_user.mako, mpulsweb/templates/administration/edit_usergroup.mako, mpulsweb/templates/administration/edit_user.mako, mpulsweb/templates/administration/dialogs/success_new_usergroup.mako, mpulsweb/templates/administration/dialogs/success_edit_usergroup.mako, mpulsweb/templates/administration/dialogs/success_edit_user.mako, mpulsweb/templates/administration/dialogs/success_deletegroup_user.mako, mpulsweb/templates/administration/dialogs/success_delete_user.mako, mpulsweb/templates/administration/dialogs/notificate_delete_user_helper.mako, mpulsweb/templates/administration/dialogs/failed_new_usergroup.mako, mpulsweb/templates/administration/dialogs/failed_delete_user.mako, mpulsweb/templates/administration/dialogs/confirm_resetpassword.mako, mpulsweb/templates/administration/dialogs/confirm_deleteusergroup.mako, mpulsweb/templates/administration/dialogs/confirm_deleteuser.mako, mpulsweb/templates/administration/delete_user_helper.mako: Use h.url_for consistently for all intra application URLs. 2010-05-25 Bernhard Herzog Generate URLs properly so that SCRIPT_NAME is taken into account: * mpulsweb/lib/renderer.py (icon): New function to help with icon URL generation. (ViewRenderer.render, ViewRenderer._renderAttributes) (ViewRenderer._renderRepeatList, ViewRenderer._renderRepeatNav) (ViewRenderer._renderInfo, RepeatGroupRenderer.render_digest) (RepeatGroupRenderer.render, ErrorRenderer.render) (ErrorRenderer.render_items): Generate URLs with the url_for and icon functions. 2010-05-25 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render): Remove some debug prints. 2010-05-25 Bernhard Herzog Generate URLs properly so that SCRIPT_NAME is taken into account: * mpulsweb/lib/navigation.py (SELECT_ITEM, SELECT_BRANCH) (CLOSE_BRANCH, OPEN_BRANCH): Removed. (select_item_url, select_branch_url, close_branch_url) (open_branch_url): New. Functions replacing the removed template strings. (FileCache.get_image): Convert image name to byte-string and pass it through url_for to get the correct image url. (TreeItem.render): Adapt to template->function change. 2010-05-25 Bernhard Herzog * mpulsweb/model/user.py (log): Add logger. 2010-05-25 Bernhard Herzog * mpulsweb/templates/documents/case_overview.mako, mpulsweb/templates/documents/global_overview.mako: Avoid unnecessary html-escaping. 2010-05-25 Bernhard Herzog * mpulsweb/model/document.py (Document.getName): Remove encoding parameter. No caller used anything but the default value anyway. Also, make non-ascii names actually work by using ensure_unicode to convert the name to unicode instead of unconditionally converting to byte-string first. 2010-05-25 Bernhard Herzog * mpulsweb/lib/validators.py (FileExistsChecker.casedoc_sql) (FileExistsChecker.globaldoc_sql): Fix parameter markers so that the normal DB-API parameter substitution can be used. (FileExistsChecker.validate_python): Use the standard DB-API parameter substitution mechanism. This avoids SQL-injections. 2010-05-21 Bernhard Herzog * mpulsweb/lib/renderer.py (tag): Allow attribute names that contain minus signs by converting underscored to minus signs in attribute names. Fortunately there are no attribute names in HTML that use underscores. 2010-05-21 Bernhard Herzog * mpulsweb/config/environment.py (load_environment): Add an explicit configuration option for the template module directory: mpuls.app.path.template_cache. If that option is not given use the previously used directory as fallback. The previously used directory is simply derived from cache_dir and is this directly tied to the beaker session directory. This is a problem if two applications have to share their session data but not their templates. 2010-05-21 Bernhard Herzog * mpulsweb/config/environment.py (load_environment): Lookup settings in both app_conf and global_conf, instead of only in global_conf. This allows the settings to be in the application's section in the configuration file, not only in the DEFAULT section. This is necessary when running two MPuls applications in the same server. 2010-05-21 Bernhard Herzog * mpulsweb/lib/base.py (BaseController.__before__): redirect_to will also call url_for so it's actually wrong to pass the return value of url_for to redirect_to because it will be processed twice. The result is not always incorrect, but if e.g. the application is not mounted directly at "/" in the server so that SCRIPT_NAME is not empty, SCRIPT_NAME will be added twice to the url. Fix this by omitting the url_for call. 2010-05-21 Bernhard Herzog * mpulsweb/config/importer.py (import_overridable_module): Only append mpuls.app.root to sys.path if it's not already in the path. 2010-05-21 Bernhard Herzog * mpulsweb/config/middleware.py (SimpleExceptionLogger): New class for very simple and more robust exception logging. (make_app): Install SimpleExceptionLogger if the config option mpuls.app.simple-exception-handler is true. The more sophisticated pylons error handlers sometimes have problems with exceptions that contain non-ascii characters in which case exceptions raised from withing the error handler completely mask the original exception. 2010-05-21 Bernhard Herzog * mpulsweb/templates/administration/dialogs/failed_new_user.mako: Removed. Not used anymore. 2010-05-20 Bernhard Herzog * mpulsweb/lib/renderer.py (tag): Minor documentation fixes. 2010-05-20 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderRepeatList) (ViewRenderer._renderMatrix, ErrorRenderer.render_items): Use the tag function in more places when rendering HTML tags. 2010-05-20 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest) (RepeatGroupRenderer.render): Rework these methods a little to avoid some problems that could occur if the rg_digests haven't been set properly. In particular the default values used for missing items were lists where dictionaries were expected by the code. 2010-05-19 Bernhard Herzog * mpulsweb/lib/renderer.py: fix formatting. 2010-05-17 Torsten Irländer * mpulsweb/lib/config.py: Disabled tagging on default (Work in progress) * mpulsweb/config/importer.py (import_overridable_module): Append root dir of the application configuration to the pythonpath * mpulsweb/lib/app_globals.py (Globals.__init__): Load tagging from base if there is no configuration specific tagging. * setup.py: Set version number and removed pyOpenSSL from requirements 2010-05-11 Torsten Irländer Added tagging controller and templates to show tags for a case. * development.ini mpulsweb.egg-info/paste_deploy_config.ini_tmpl mpulsweb/controllers/formularpage.py mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/i18n/mpulsweb.pot mpulsweb/lib/app_globals.py mpulsweb/model/case.py mpulsweb/templates/casemanagement/main.mako default_tagging.xml mpulsweb/controllers/tags.py mpulsweb/templates/tags/tags.mako 2010-05-11 Bernhard Herzog Start the MPuls base application as a separately managed component. * jmd.json, jmdstruktur.json, jmdstrukturweb, jmdweb, waska.json, wasko.json, waskaweb: Removed these files and directories because they're not part of the MPuls base application. 2010-05-11 Torsten Irländer * mpulsweb/controllers/administration.py (AdministrationController.editUserGroupAction): Wald. #1486. Fixed call of htmlfill. * mpulsweb/lib/config.py: Added two new configuration vars to enable/disable tagging 2010-05-10 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController._downloadXMLExport) (CaseBundleController._downloadXLSExport) (CaseBundleController._downloadCSVExport): Removed. Replaced by _download_data. (CaseBundleController._download_data): New. A parameterized version of the code in the various _downlooad* methods. (CaseBundleController.exportAction): Use _download_data for the actual download. Also use the same mime types and content_encoding as in WASKA and WASKO, in particular: use application/msexcel and no content-encoding for XLS files and application/xml and UTF-8 for XML. 2010-05-10 Bernhard Herzog * mpulsweb/config/routing.py (make_map): Use the directory containing the python module mpulsweb.controllers as the controllers directory of the base application instead of assuming it can be derived from config['mpuls.app.root']. The new way is more generic and flexible because just assumes that mpulsweb.controllers can be imported instead of also making assumptions about where it's actually located. This is especially useful when splitting the base application and jmdweb into separate components. 2010-05-10 Torsten Irländer * mpulsweb/templates/main.mako, jmdweb/templates/main.mako: Wald #1373. Restored old behavior to enter usersettings from the "start-menu". 2010-05-07 Bernhard Herzog * mpulsweb/lib/export.py (to_str): Only convert to unicode if a string is is not already a unicode object. Fixes wald issue #1497 2010-05-07 Roland Geider * jmdweb/public/xml/eval_zielgruppe.xml: Update duration analysis 2010-05-07 Roland Geider * jmdweb/public/xml/eval_zielgruppe.xml: Use muttersprache_tbl 2010-05-07 Roland Geider * jmdweb/public/formed/sprachen.xml: removed montenegran modifier 2010-05-07 Roland Geider * jmdweb/public/xml/eval_zielgruppe.xml: New rules for analysis * jmdweb/public/formed/sprachen.xml: added two missing languages 2010-05-06 Torsten Irländer * mpulsweb/lib/helpers.py (get_phasesuccessors): Method now used phase model to find successort phaseparts of a given phase 2010-05-06 Roland Geider * jmdweb/public/xml/eval_zielgruppe.xml: New rules for analysis 2010-05-06 Roland Geider * mpulsweb/controllers/caseappointment.py: * mpulsweb/templates/casemanagement/showAppointment.mako: Load cases into session when opening caseappointments. 2010-05-05 Roland Geider * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/templates/casemanagement/caselist.mako: Wald issue #1484: Legende zu den Phasen. Beschreibung in Gettext. 2010-05-05 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.build_defaults) (MpulsAppConfig.build_defaults, MpulsDBMapping.build_defaults): Update doc-strings. 2010-05-05 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.build_defaults): Simplify the default implementation. 2010-05-05 Torsten Irländer Added config based db-mapping: * default_mapping.json, development.ini, mpulsweb/lib/base.py, mpulsweb/lib/base.py, mpulsweb/lib/app_globals.py: DB-Mapping is now loaded from a json based config file. Config file can be configured in ini file. 2010-05-05 Roland Geider * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/controllers/phase.py: * mpulsweb/controllers/news.py: * mpulsweb/controllers/document.py: Moved hard-coded strings into gettext 2010-05-05 Roland Geider * mpulsweb/templates/casemanagement/main.mako: New order of items in menu * jmdweb/public/formed/formedtree.xml: Fixed typo * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: updated file 2010-05-04 Frank Koormann * jmdweb/templates/info/info.mako: Fix bug in external link. * jmdweb/templates/privacy/list_statements.mako: Added agreement * jmdweb/public/documents/ee_de.pdf: Privacy agreement (Einwilligung) 2010-05-05 Torsten Irländer * mpulsweb/model/agencysettings.py, mpulsweb/templates/settings/show.mako, mpulsweb/templates/settings/edit.mako: Edit and show adress of ka in agency settings. * mpulsweb/model/statement.py: Substitute adress of ka in statement * mpulsweb/i18n/mpulsweb.pot, mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: New translation for fieldlabel for adress of ka. * mpulsweb/model/phase.py (PhaseList.check_consistence): Added attribute "phase". Consitence will be checked for the given phase. default is current phase. * mpulsweb/model/case.py (check_anonymizeability, check_consistence): Added phase paramenter. * mpulsweb/controllers/privacy.py (PrivacyController.decline): Check consistence for the endpart of the current phase. * mpulsweb/model/case.py (MpulsCase.make_consistent): Fixed function to make the case consistent. Phase relevant dates are now set to the current date. * mpulsweb/model/case.py (MpulsCaseState.getPhaseDescription): Fixed function to get the current phase description for the info field. * mpulsweb/templates/help/help.mako: Added default help * jmd.json: Changed text for reminder condidition according to Wald #1477 * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Added config var for dbmapping * mpulsweb/controllers/case.py: Added new error text for failed anonymization. * mpulsweb/controllers/privacy.py (PrivacyController.decline): Fetch SetDataException when making the case anonymizable. * mpulsweb/model/case.py (MpulsCase.make_consistent): Fixed setting of values * mpulsweb/controllers/privacy.py (PrivacyController.decline): do not reset privacy statement when "make_anonymizable" fails * mpulsweb/model/phase.py (PhaseList.get_phase): Return dummy unknown phase if the user wants to get phase "-1". * mpulsweb/controllers/case_bundle.py: Fixed dialog on anonymization. * mpulsweb/templates/casemanagement/main.mako: Wald #1426. Do not allow do modify statements if the case is up to be deleted, anonymized or is already anonymized. 2010-05-04 Frank Koormann * jmdweb/templates/privacy/default/privacy_statement.html: JMD-specific privacy statement. 2010-05-04 Roland Geider * mpulsweb/public/styles/screen.css: Wald issue #1478: correct rendering of UL and OL elements 2010-05-04 Frank Koormann * mpulsweb/templates/info/info.mako: Enhanced (german) information dialog * jmdweb/templates/info/info.mako: German information dialog JMD. 2010-05-04 Bernhard Herzog Add ids to the generated XLS files so that relation ship between the data on the various pages can be established by the user. * mpulsweb/lib/export.py (Book.__init__): Add columns for ids and master_ids (the latter only for repeat groups) (Book.fill): Generate ficticious but consistent ids for cases and repeat groups. 2010-05-04 Roland Geider * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/controllers/case_bundle.py: Wald issue #1427, incorrect handling of singular/plurar forms in some dialogs 2010-05-04 Roland Geider * mpulsweb/public/styles/ie8.css: * mpulsweb/public/images/svg/arrow_double_right.svg: * mpulsweb/public/formed/staatsangehoerigkeit.xml: * jmdweb/public/formed/sprachen.xml: * jmdweb/public/formed/staatsangehoerigkeit.xml: * jmdweb/public/formed/laender.xml: * jmdweb/public/formed/formedtree.xml: New version of XML files as per request in #1366, ordering of entries in dropdown list 2010-05-04 Bernhard Herzog * mpulsweb/model/case.py (MpulsCaseBundle._exportXSL) (MpulsCaseBundle._exportXLS): Fix typo in method name. The method exports xls files. (MpulsCaseBundle.export): Adapt to renamed method. 2010-05-04 Torsten Irländer * jmd.json: Changed settings to anonymize a case. Anonymization schould be possible for all phases in the pilot phase. Might be changed later. Added minimum required fields which needs to be filled out even if the privacy statement was declined. * mpulsweb/controllers/case_overview.py (default_phases): New function to build a list of all available phase ids (default for search option) * mpulsweb/model/appointment.py (MaxSaveTimeReminderOverview.__init__): Add default phases on casesearch. * mpulsweb/controllers/administration.py (AdministrationController.deleteUser): Added default phases to search_str to find all cases of the users which is up to be deleted. * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest): Handle groupings in choicenodes * mpulsweb/templates/casemanagement/caselist.mako: Wald #issue1471. Always return values fro cases which are marked for anonymisation. 2010-05-04 Bernhard Herzog * mpulsweb/lib/export.py: Remove unused imports. 2010-05-04 Bernhard Herzog * mpulsweb/lib/export.py: Fix formatting. 2010-05-04 Bernhard Herzog * jmdweb/public/formed/formedtree.xml: Fix rule for birthdays so that the field may be empty or unknown. 2010-05-04 Roland Geider * mpulsweb/public/styles/menu.css: * mpulsweb/public/styles/ie6.css: * mpulsweb/public/styles/ie7.css: * mpulsweb/public/styles/ie8.css: * mpulsweb/public/js/ie6-menu.js: * mpulsweb/public/images/svg/arrow_double_right.svg: * mpulsweb/templates/base.mako: * mpulsweb/templates/casemanagement/caselist.mako: * mpulsweb/templates/casemanagement/main.mako: tweaks to make the CSS menu work with internet explorer. Change the order of options. * mpulsweb/lib/renderer.py: slight tweak to the sorting of drop downs 2010-05-03 Bernhard Herzog * mpulsweb/controllers/case_bundle.py (CaseBundleController.exportAction): Check the exportanonym flag correctly. form_result already contains the value as a python bool, so there's no need to check it agains the string representation. 2010-05-03 Torsten Irländer * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Wald #1424: Fixed typo. * mpulsweb/lib/search.py: Add phase to the default search fields. * mpulsweb/public/styles/widgets.css: Added new style for "infofields" * mpulsweb/templates/casemanagement/caselist.mako: Display current phase of each case in overview. Added legend to explain phase shortdescriptions. * mpulsweb/lib/config.py: Added new config var to define shortdescriptions of phases. * mpulsweb/model/case.py: Initiate CaseState object with the case phase when loading the caseoverview. * mpulsweb/templates/main.mako, * jmdweb/templates/main.mako: Fixed layout of privacy menu * jmdweb/controllers/case.py (CaseController.newAction): write additional fields (adressdata) to the case on creation. * jmdweb/lib/validators.py (NewCaseForm): Added new fields to newcase validator * jmdweb/templates/casemanagement/new.mako: Added additinal fields to template to create a new case. 2010-04-29 Roland Geider * mpulsweb/public/styles/menu.css: * mpulsweb/templates/casemanagement/main.mako: added dynamic menus 2010-04-30 Torsten Irländer * mpulsweb/model/phase.py (PhasePart.getLinks): Show all required fields. Do not check anymore if the field is currently relevant * mpulsweb/model/phase.py (Condition.evaluate): Readded evaluating only relevant fields. Was removed with last commit too. * mpulsweb/lib/config.py: Added new config var for a literal description of the reminder condition. * jmd.json: Added jmdspecific decription of reminder condition. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Changed label for reminders. * mpulsweb/templates/settings/edit.mako: Changed desctiption of reminders. Added info of additional conditions for reminders. (coming from the config var above) * mpulsweb/templates/settings/show.mako: Added info of additional conditions for reminders. (coming from the config var above) 2010-04-29 Frank Koormann * ./jmdweb/templates/jmdstruktur/permission.mako: 2 typos fixed. 2010-04-29 Torsten Irländer * mpulsweb/templates/administration/new_user_result.mako, mpulsweb/templates/administration/reset_password.mako: Wald #1460. Fixed escaping * mpulsweb/lib/base.py (BaseController._loadCase): Fixed converting error * mpulsweb/model/phase.py (PhasePart.getLinks): Only list fields as missing if the are relevant * mpulsweb/model/phase.py (Field.has_relevant_rules): Check if there are relevant conditions * mpulsweb/lib/validators.py (EditSettingsForm): Load min and max setting from config. * mpulsweb/lib/config.py: Added two new varibles to define min and max days for reminders * jmd.json: Set min values for reminders to 180 days. * mpulsweb/controllers/case.py (CaseController.markForDelete): Set rendermode to "ro" after delete. * mpulsweb/controllers/case.py (CaseController._markForAnonymize): Set rendermode to "ro" after anonymization. 2010-04-29 Roland Geider * jmdweb/templates/main.mako: additional filter in list comprehension * mpulsweb/lib/renderer.py: Wald issue #1366: sort dropdowns using their "target" as key * jmdweb/templates/main.mako: * mpulsweb/templates/main.mako: Wald issue #1389 (more or less): removed "logout" icon 2010-04-28 Torsten Irländer * jmdweb/controllers/jmdstruktur.py (JmdstrukturController.permissionAction): Added methods to set users who are permitted to access to jmdstruktur-modul * jmdweb/templates/main.mako: Check permission to view the jmdstruktur modul * jmdweb/templates/jmdstruktur/permission.mako: Added new template to set permission for jmdstruktur-modul * mpulsweb/model/agencysettings.py: Added generic method to get values from the agencysettings. * jmdweb/lib/validators.py: New validator for setting permissions for jmdstruktur-module * mpulsweb/templates/administration/reset_password.mako: Wald #1460: Do not escape passwords. * mpulsweb/templates/administration/new_user_result.mako: Wald #1460: Do not escape password. * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Fixed Wald #1361 * mpulsweb/templates/formularpage/formular.mako: Wald #1426. Do not allow do edit "schwebend gelöschte" cases. * jmd.json: Added Name, and Vorname to infofield * mpulsweb/lib/base.py (BaseController._loadCase): Fixed Wald #1465. Do not reset rendermode and navigation on loading the same case again. 2010-04-27 Torsten Irländer * mpulsweb/model/case.py, mpulsweb/controllers/case_bundle.py, mpulsweb/lib/export.py: Added first version of XLS export. Generally works but has some issues with embedded RG. * jmdweb/templates/main.mako: Added section for strukturdaten to jmdweb * jmdweb/controllers/jmdstruktur.py: New. Controller to handle jmdstruktur module calls. * jmdweb/templates/jmdstruktur/*: New. New templates for jmdstruktur module 2010-04-26 Torsten Irländer * mpulsweb/templates/casemanagement/main.mako: Generate Infofield from config. See "fields" in json-file. * mpulsweb/lib/validators.py (BundleActionForm): Added export keywords to bundle validator. * setup.py: Added pyExcelerator to needed packages. * mpulsweb/lib/config.py: Splitted up config var for export. Now you can enable XML, CSV and XLS Export seperatly * jmd.json: Disabled XLS and CSV export. * mpulsweb/templates/casemanagement/overview.mako: Only show exports which are enabled. * mpulsweb/lib/export.py (Export): New dummy class to export CSV and XLS. * mpulsweb/model/case.py: Added export for casebundles. * mpulsweb/controllers/case_bundle.py: Added actions to export casebundles * mpulsweb/lib/validators.py (ExportSelectorValidator): Added new validator for ExportSelection * mpulsweb/lib/helpers.py (get_export_selector): New helper function whoch returns a rendered html list element containing all pages of the meta formedtree * mpulsweb/templates/casemanagement/dialogs/confirm_export.mako: Added section to select which parts of the form should be exported. Further added a checkbox to anonymize the case on export. 2010-04-23 Roland Geider * mpulsweb/controllers/case_overview.py: * mpulsweb/public/styles/all.css: * mpulsweb/templates/administration/show_usergroup.mako: * mpulsweb/templates/administration/overview_user.mako: * mpulsweb/templates/administration/overview_usergroups.mako: * mpulsweb/templates/documents/global_overview.mako: * mpulsweb/templates/casemanagement/caselist.mako: Wald issue #1452: added hover to some of the overview tables and made most elements clickable * mpulsweb/public/images/svg/sort_desc.svg: * mpulsweb/public/images/svg/sort_asc_active.svg: * mpulsweb/public/images/svg/sort_asc.svg: * mpulsweb/public/images/svg/sort_desc_active.svg: * mpulsweb/public/images/icons/sort_asc_active.png: * mpulsweb/public/images/icons/sort_desc_active.png: * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Added a visual feedback for sorting in tables * mpulsweb/lib/validators.py: Wald issue #1376 wrong error message when setting a new password 2010-04-23 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderDate.uformat_date): New return "unbekannt" str if date is "01.01.1" * mpulsweb/lib/renderer.py (ViewRenderer._renderDate): Fixed rendering of "unbekannt" dates in formular. * mpulsweb/model/case.py (MpulsCase.check_consistence), (MpulsCase.make_consistent): Commit changes after setting the data * mpulsweb/model/case.py (get_unknown_value): Return "unbekannt" as default unknown value for datefields 2010-04-22 Torsten Irländer * mpulsweb/templates/home/home.mako: Wald #1428: Eigene Termine werden nun wieder für den CM angezeigt. * mpulsweb/lib/config.py: Added new newconfig var to setup minimal fields to anonymize a case (on declining the privacy statement) * mpulsweb/model/case.py (MpulsCase.check_consistence): Added param to ignore start and endphase check (needed to decline a case) * mpulsweb/model/phase.py (PhaseList.check_consistence): Collect a list of error fields while checking the consistence. Added the list in the error message. * mpulsweb/controllers/privacy.py (PrivacyController.decline): Get minimal fields to decline the privacy statement from config file * mpulsweb/controllers/case_bundle.py (CaseBundleController.anonymize): Wald #1421. Fixed Link on confirmation dialog. * mpulsweb/lib/security.py (getKAName): Wald #1425. Fixed fetching ka name from ssl certificate. 2010-04-22 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/templates/auth/logout.mako: Wald issue #1371: "WASKO" removed from login page * mpulsweb/templates/casemanagement/new.mako: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: Wald issue #1380: Typo in language variable removed * mpulsweb/public/styles/all.css: Wald issue #1429: wrong display (vertical-align changed to "bottom") * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/controllers/privacy.py: Wald issue #1431: typo in language variable removed * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/templates/casemanagement/caselist.mako: Wald issue #1423: inconsistent tooltips in admin area * mpulsweb/public/images/logos/valid-html401.png: added valid HTML icon from the W3 consortium * mpulsweb/lib/renderer.py: * mpulsweb/public/styles/all.css: Wald issue #1442: added a slight margin to checkboxes * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/controllers/case.py: Wald issue #1424: Typo in dialog * mpulsweb/public/styles/print.css: Wald issue #1430: improvements to printer friendly page * mpulsweb/lib/renderer.py: Wald issue #1450: Improved readability of warnings and errors * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/controllers/case_bundle.py: * mpulsweb/templates/casemanagement/overview.mako: Wald issue #1427: handle plural forms in gettext * mpulsweb/lib/renderer.py: * mpulsweb/public/styles/color3.css: colour warning links in orange * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: added missing translations * mpulsweb/templates/administration/show_usergroup.mako: Wald issue #1432: removed unnecessary headings 2010-04-21 Torsten Irländer * mpulsweb/templates/base.mako: Removed "TEST"-String from title * mpulsweb/controllers/case_bundle.py: Added action anonymize fpr casebundles. * mpulsweb/model/case.py: Fixed SQL statement to anonymize * mpulsweb/controllers/case_bundle.py (CaseBundleController.no_action): Wald #1417. Set correct url in dialog * mpulsweb/templates/casemanagement/search.mako: Wald #1416: Fix counting of anonymized cases * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Wald #1416: Fix counting of anonymized cases * mpulsweb/controllers/administration.py (AdministrationController.index): Wald #1418. Implemented index action for administration. index now defaults to list users. * mpulsweb/templates/formularpage/formular.mako: Wald #1426: "Schwend anonymisierte" can not be selected now. 2010-04-21 Roland Geider * mpulsweb/model/case.py: Wald issue #1419: missing h.literal * mpulsweb/templates/casemanagement/new.mako: Wald issue #1420: wrong link in breadcrumb * mpulsweb/model/case.py: * mpulsweb/controllers/case.py: * mpulsweb/controllers/privacy.py: * mpulsweb/lib/anonymize.py: fix error with function determineAnonymizedCaseEndPhase which caused anynimisation to fail while being on certain phases * mpulsweb/i18n/mpulsweb.pot: * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/model/case.py: * mpulsweb/model/phase.py: * mpulsweb/controllers/case.py: * mpulsweb/controllers/privacy.py: * mpulsweb/templates/phase/phase.mako: fixed problems related to anonymisation that appeared while retracting the privacy statement 2010-04-20 Torsten Irländer * INSTALL: Added some more information on installation * jmdweb/lib/search.py (CaseSearch.get_where): Add searching for dates * mpulsweb/controllers/case_overview.py (parseSearchOptions): Parse enddate and startdate and add to search options. * mpulsweb/lib/validators.py (SearchCaseForm): Added start and enddate to validator * mpulsweb/lib/search.py: Added sdate and edate to allowed search params. * mpulsweb/model/phase.py: Seperated building the phaselist and loading data from a given instance tree. * mpulsweb/model/phase.py (PhaseList.get_path): Added root to the path * mpulsweb/model/phase.py (PhaseList.is_on_path): Added help function to check if a phase is on path to a other phase part. * mpulsweb/templates/phase/phase.mako: Changed rendering of the phasepage a bit. Make more clear which phases are ok (from the required fields point of view) * mpulsweb/templates/casemanagement/search.mako: Wald #1416: Die erweiterte Suche zeigt nun alle verfügbaren Statis. * mpulsweb/controllers/case_overview.py (parseSearchOptions): Fixed search for editor. * mpulsweb/lib/validators.py (SearchCaseForm): commented out sdate and edate. Not used yet. 2010-04-20 Roland Geider * mpulsweb/controllers/administration.py: Fixed Wald issue #1392: transfer of cases while deleting user * mpulsweb/public/styles/all.css: Fixed Wald issue #1404: extended search labels Fixed Wald issue #1364: highlighting of form fields with errors * mpulsweb/public/styles/color3.css: * mpulsweb/controllers/formularpage.py: * mpulsweb/lib/renderer.py: * mpulsweb/public/styles/all.css: * mpulsweb/public/styles/color3.css: Fixed Wald issue #1364: highlighting of form fields with errors 2010-04-19 Roland Geider * mpulsweb/public/styles/screen.css: Fixed Wald issue #1398: fixed description problems in the phase page * mpulsweb/public/styles/all.css: reduced table margins 2010-04-19 Roland Geider * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: Fixed Wald issue #1400: removed additional spaces in dialog 2010-04-19 Roland Geider * mpulsweb/controllers/privacy.py: Fixed Wald issue #1397: correct display of warning dialog 2010-04-19 Torsten Irländer * mpulsweb/templates/casebundle/standin.mako: Wald #1393. Fixed naming of checkboxes. * mpulsweb/lib/renderer.py (ViewRenderer._renderConditional): Wald #1367. Fixed rendering of conditionals. * mpulsweb/lib/security.py: standard way of getting db credentionals which are not defined in the config file, will be looking for them in http-headers. * mpulsweb/templates/casemanagement/search.mako: Removed datefields in search as search does not work with dates anyway yet! * mpulsweb/controllers/casedocument.py (CasedocumentController.delete): Wald #1401: Fixed render call. * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: Fixed print dialog link: wald #1399 * mpulsweb/model/phase.py (PhasePart.is_ok): Wald. #1405. Fixed checking of phases. * mpulsweb/controllers/case_bundle.py: Wald. #1406. Fixed returning error message. 2010-04-16 Roland Geider * mpulsweb/templates/main.mako: Fixed Wald issue #1389: removed help icon from top menu 2010-04-16 Roland Geider * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: Fixed Wald issue #1387: wrong icon in dialog 2010-04-16 Torsten Irländer * mpulsweb/lib/renderer.py (ViewRenderer._renderRepeatList): Wald #1388. Added "alt" and "title" tags to submitbuttons. * mpulsweb/model/phase.py (Field.__init__): Remove handling of rg out of Fieldclass. * mpulsweb/model/phase.py (Field.__init__): Init Fields with identifier instead of name. * mpulsweb/model/phase.py (Field.get_link): Fixed generating of links. * mpulsweb/model/phase.py (PhasePart.__init__): Initiate Fields with identifier. Fixed Wald #1390. * jmd.json: Description of Phasen changed. * mpulsweb/model/phase.py (PhasePart.is_ok): Wald #1370. Fixed checking if a phase can be switched into the next phase. 2010-04-15 Roland Geider * mpulsweb/i18n/de/LC_MESSAGES/mpulsweb.po: * mpulsweb/templates/auth/main.mako: Fixed Wald issue #1371: wrong description of application 2010-04-15 Roland Geider * mpulsweb/controllers/appointment.py: * mpulsweb/controllers/casedocument.py: * mpulsweb/controllers/case.py: * mpulsweb/controllers/document.py: * mpulsweb/templates/main.mako: removed unneeded unicode() function calls 2010-04-15 Roland Geider * mpulsweb/templates/main.mako: * mpulsweb/model/user.py: Fixed Wald issue #1352: Added tooltip to username and changed displayed role of "adm" user 2010-04-15 Torsten Irländer * jmdweb/public/formed/formedtree.xml: New formedtree * mpulsweb/templates/phase/phase.mako: Wald #1362: Proposal for a solution. Only mark phases as ok if a) all required fields are filled out and b) the phase is a neighbor of the current phase and can be switched into it. * mpulsweb/templates/casemanagement/dialogs/success_keepactive.mako: New dialog for succsessful storage extension. * mpulsweb/controllers/case.py (CaseController.keepActive): Split function into "_keep_active_with_logbook" and "_keep_active_without_logbook". If logbook is not enabled just the last accesstime will be updated. * jmdweb/model/appointment.py: New. JMD specific implementation of getting old cases (only after the kids are 27 years) * jmdweb/controllers/jmd.py (JmdController.get_reminders): New. JMD specific function of geting automatic reminders. * mpulsweb/model/appointment.py: Renamed "__" private functions. * mpulsweb/controllers/mpuls.py: Moved functions to get news, appointments and reminder into the MpulsController. * mpulsweb/model/case.py (MpulsCaseState.check_remindcondition): New. Returns True is remindcondition is true. * mpulsweb/model/case.py (MpulsCaseState.daysToMaxSavetime): On return real days to maxsavetime if remind condtion is true. else return fake 15 days to prevent showing counting days until reminder generation in template. * mpulsweb/lib/config.py: Added new config option "remindconditon" which must be true to generate automatic reminders. * mpulsweb/model/appointment.py (Appointment.oldAndActive), (Appointment.oldAndFinished): Also check remindconditon. * jmd.json: Added new option remindercondition * mpulsweb/model/phase.py (PhaseList.get_current_phase): Add unknown phase to the very first phasepart (id==0) as predessor. * mpulsweb/model/case.py (MpulsCase.get_value): Fixed Wald #1359. If getting values from the formedtree fails (e.g like bearbeiter_id which is not defined in the formed) try to look for it the the presents which are preloaded. * mpulsweb/public/styles/all.css: new style for h- an vcontrols in rg. * mpulsweb/lib/renderer.py (ViewRenderer._renderAttributes): Render submitbuttons instead of simple links to add and delete rg. * mpulsweb/controllers/formularpage.py (FormularpageController.save): After saving the data check if user clicked an adding or delete rg. If so redirect user to the rg-controller. * mpulsweb/model/user.py (UserObject.resetPassword): Wald: #1379. Do not call waska_reset_passwort_function but mpuls_reset_passwort_function. * jmdweb/model/case.py: Wald: #1383. Set Name of the Agency on initialisation of a new case. 2010-04-14 Roland Geider * mpulsweb/templates/dialogs/confirm.mako: Fixed issue #1375 - Display errors on confirmation dialog 2010-04-14 Roland Geider * mpulsweb/templates/administration/edit_user.mako: Fixed issue #1374 - Display errors while editing user 2010-04-14 Roland Geider * mpulsweb/lib/navigation.py: * mpulsweb/lib/renderer.py: * mpulsweb/public/styles/all.css: * mpulsweb/public/styles/screen.css: * mpulsweb/public/styles/color3.css: * mpulsweb/public/styles/ie6.css: * mpulsweb/public/styles/ie7.css: * mpulsweb/public/js/ie6-png.js: * mpulsweb/templates/logbook/overview.mako: * mpulsweb/templates/base.mako: * mpulsweb/templates/auth/login.mako: * mpulsweb/templates/casemanagement/organisation.mako: * mpulsweb/templates/casemanagement/caselist.mako: fixes for the different versions of internet explorer, more pages are HTML valid, slight design changes 2010-04-14 Torsten Irländer * mpulsweb/model/phase.py: Fixed checking neighborship of to phaseparts, which is needed to determine if a phase can be started. * mpulsweb/templates/phase/phase.mako: Display state of a phase correctly. * mpulsweb/templates/annotations/annotation.mako: Wald #1361: Fixed escaping. * mpulsweb/model/phase.py (PhaseList.get_current_phase): Fixed getting current_phase * mpulsweb/templates/home/home.mako: Wald #1354: Only show "eigene Termine" for cm * i18n/mpulsweb.pot i18n/de/LC_MESSAGES/mpulsweb.po mpulsweb/templates/phase/phase.mako: Wald #1359: Added unit to duration of phases. * mpulsweb/templates/phase/dialogs/success_set_phase.mako: Only offer logbook if it is enabled. * mpulsweb/controllers/case.py (CaseController.keepActive): Set case_id to form_defaults. To be able to save a logbook entry * mpulsweb/controllers/logbook.py (LogbookController): Do not convert to unicode in render functions. * mpulsweb/lib/base.py (BaseController.__before__): Added code to load navigation to lib base, as it is used at more places. Navigation is now only resetet if a new case is loaded. * mpulsweb/controllers/case.py (CaseController.init_case): Removed code to load navigation. Is now in lib/base.py * mpulsweb/controllers/formularpage.py (get_rendered_page): Return 404 if a page could not be found. Log error. * mpulsweb/controllers/navigation.py (NavigationController.open_branch): Fixed navigation. If a case was first loaded session cound have the wrong value for the currently selected page. The values are now reseted when load a new case. selectedpgae will be set new if it is not set. 2010-04-13 Torsten Irländer * jmd.json: Adapted required fields definition to the current foredtree. * mpulsweb/model/phase.py (walk_it): Helper function to get all items ins instance tree. * mpulsweb/model/phase.py (get_flags): Helper for formular items. Parses flags attribute and returns a dictionary with phase ids for required fields and time fields. * mpulsweb/model/phase.py (PhasePart.__init__): Do not load information about required fields and time fields for json config but from formedtree. * mpulsweb/model/phase.py (Field.__init__): Initialise fields with Rule-Nodes fro formed. * mpulsweb/model/phase.py (Condition.evaluate): Evaluate rules depending on context (conditionals etc.) * jmd.json: Removed definition of required fields and datefield for phases. * mpulsweb/lib/config.py: Removed definition of required fields and datefield for phases. 2010-04-12 Torsten Irländer * contrib/apache/mpuls.wsgi, contrib/apache/apache-site-proxy.conf, contrib/apache/apache-site-wsgi.conf: Added templates for configuration as wsgi-application, or stand-alone application behind a reverse proxy. * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Changed template of ini file. * jmd.json: Added rg digest for Integrationsfoerderplan * mpulsweb/lib/renderer.py (is_evaluation_relevant): New function wich returns true if the substring "evaluation:" is found in a given string. * mpulsweb/lib/renderer.py (ViewRenderer._renderAttributes): Render icons for required-fields and evaluation relevant fields based on the info in the formedtree rather then looking for an available entry in the annotationsfile. * mpulsweb/controllers/annotations.py: Return default string if no helptext can be found. 2010-04-12 Roland Geider * mpulsweb/public/styles/all.css: Set the vertical alignment of radiomatrixes to middle 2010-04-12 Roland Geider Many design improvements * mpulsweb/lib/renderer.py: * mpulsweb/public/styles/all.css: * mpulsweb/public/styles/screen.css: * mpulsweb/public/styles/color3.css: * mpulsweb/public/styles/widgets.css: * mpulsweb/templates/base.mako: * mpulsweb/templates/auth/main.mako: * mpulsweb/templates/casemanagement/main.mako: many slight design improvements * mpulsweb/public/styles/menu.css: first prototype of CSS menu (currently unused) * mpulsweb/public/images/svg/README: added README with explanations about the icons used 2010-04-09 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._checkWarnings): Do not evaluate warning rules that refer to fields in conditionals that are not currently available. 2010-04-09 Roland Geider * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako: removed additional escape 2010-04-09 Torsten Irländer * jmd.json: Disabled Logbook for jmd in pilot. * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest): Render description of the corresponding value in choicenode in rg-digests. * mpulsweb/lib/renderer.py: Fixed display of infofields * jmdweb/public/formed/formedtree.xml: New formedtree Implemented sorting of RG * jmd.json: New configuration * wasko.json: New configuration * mpulsweb/lib/renderer.py: First basic version of sorting rg based on string comparison. You can now define a field with in a RG with will be used as comparator. 2010-04-09 Bernhard Herzog * mpulsweb/lib/renderer.py: (ChoiceContainer.render) (ViewRenderer.toTarget): Simplify the code. 2010-04-09 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderRecursive): Use the meta object's getParsedContainers method instead of parsing the containers value explicitly here. Makes the code much simpler. 2010-04-08 Roland Geider Graphic clean-up: updated icons and adapted templates and colour palette * mpulsweb/templates/home/remindlist.mako: * mpulsweb/templates/annotations/main.mako: * mpulsweb/templates/settings/edit.mako: * mpulsweb/templates/auth/main.mako: * mpulsweb/templates/casemanagement/search.mako: * mpulsweb/templates/casemanagement/caselist.mako: * mpulsweb/templates/main.mako: * waskaweb/templates/main_help.mako: * waskaweb/templates/casemanagement/search.mako: * waskaweb/templates/casemanagement/caselist.mako: * waskaweb/templates/info/info.mako: * waskaweb/templates/start/remindlist.mako: * waskaweb/templates/start/responsible.mako: 2010-04-08 Torsten Irländer * jmdweb/public/formed/formedtree.xml: Added new date-sequence rules. 2010-04-08 Bernhard Herzog Only show warnings for fields that are actually invalid. This fixes a bug related to rules and repeat groups. Requires libformed revision 122:a0d531148af0. * mpulsweb/lib/renderer.py (ViewRenderer._checkWarnings): Do not show warnings for fields that are actually OK, as could happen until now when repeat groups were involved in which case all fields in all instances of a repeat group were marked even if only one of them was actually invalid. This is implemented by using evaluate_instances to evaluate the warning rules expressions and examining the individual results. 2010-04-08 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Do not show errors on a repeat group overview page (i.e. when rendering an intance of RepeatInstanceContainerNode). The links generated for the errors would refer to field that are not shown on the page because they would be on the pages of the repeat group instances. 2010-04-07 Torsten Irländer * /home/torsten/Projekte/mpuls/wasko/src/2.0/mpulsweb/lib/config.py: Changed releasedate * mpulsweb/model/phase.py (Field.__init__): Set self.label initially to None. Log warning if a field can not be found. 2010-04-06 Roland Geider Graphic clean-up: updated icons and adapted templates and colour palette * mpulsweb/lib/renderer.py * mpulsweb/public/styles/all.css * mpulsweb/public/styles/screen.css * mpulsweb/public/styles/color3.css * mpulsweb/public/styles/widgets.css * mpulsweb/public/images/svg/* * mpulsweb/public/images/icons/ * mpulsweb/templates/appointments/appointmentlist.mako * mpulsweb/templates/dialogs/confirm.mako * mpulsweb/templates/dialogs/failed.mako * mpulsweb/templates/dialogs/notification.mako * mpulsweb/templates/dialogs/success.mako * mpulsweb/templates/administration/overview_user.mako * mpulsweb/templates/administration/overview_usergroups.mako * mpulsweb/templates/administration/reset_password.mako * mpulsweb/templates/home/remindlist.mako * mpulsweb/templates/home/globalappointmentlist.mako * mpulsweb/templates/home/caseappointmentlist.mako * mpulsweb/templates/logbook/overview.mako * mpulsweb/templates/phase/dialogs/success_set_phase.mako * mpulsweb/templates/documents/case_overview.mako * mpulsweb/templates/documents/global_overview.mako * mpulsweb/templates/casemanagement/appointmentlist.mako * mpulsweb/templates/casemanagement/digest_body.mako * mpulsweb/templates/casemanagement/reminderlist.mako * mpulsweb/templates/casemanagement/search.mako * mpulsweb/templates/casemanagement/caselist.mako * mpulsweb/templates/main.mako * mpulsweb/templates/privacy/dialogs/missing_statement_body.mako * waskaweb/templates/dialogs/confirm.mako * waskaweb/templates/dialogs/failed.mako * waskaweb/templates/dialogs/notification.mako * waskaweb/templates/dialogs/alert.mako * waskaweb/templates/dialogs/success.mako * waskaweb/templates/statement/dialogs/missing_statement_body.mako * waskaweb/templates/casemanagement/appointmentlist.mako * waskaweb/templates/casemanagement/dialogs/failed_xml_import2.mako * waskaweb/templates/casemanagement/digest_body.mako * waskaweb/templates/casemanagement/downloadXLS.mako * waskaweb/templates/casemanagement/reminderlist.mako * waskaweb/templates/casemanagement/search.mako * waskaweb/templates/casemanagement/caselist.mako * waskaweb/templates/casemanagement/downloadCSV.mako * waskaweb/templates/casemanagement/downloadXML.mako * waskaweb/templates/start/appointmentlist.mako * waskaweb/templates/start/remindlist.mako * waskaweb/templates/start/globalappointmentlist.mako 2010-04-01 Bernhard Herzog * mpulsweb/controllers/repeatgroup.py (RepeatgroupController.delete): Make sure the message indicating successful deletion of the repeat group is only shown when the repeat was actually successfully deleted. 2010-04-01 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._checkWarnings): The values of the self.warnings dictionary are now lists so that there can be multiple warnings per field. (ErrorRenderer.render_items): Deal with the warnings having lists of strings instead of strings. 2010-04-01 Bernhard Herzog * mpulsweb/controllers/repeatgroup.py (RepeatgroupController.delete): Log exception if deleting a repeat group fails 2010-04-01 Bernhard Herzog * mpulsweb/controllers/repeatgroup.py (RepeatgroupController.delete): Leave quoting to Mako. Use plain unicode without HTML entities. 2010-04-01 Bernhard Herzog * mpulsweb/controllers/repeatgroup.py (DELETE_RG_ENTRY_CONFIRM_TEXT) (DELETE_RG_ENTRY_CONFIRM): Use plain unicode without HTML entity references. The text will be escaped by MAKO if necessary 2010-04-01 Torsten Irländer * mpulsweb/lib/helper/filters.py: Only shorten element (text) if it has a length. Elese return unmodified element. Now ot does not lead into a traceback if e.g. a date object was provided to tthe function by accident. * mpulsweb/lib/config.py: Set new version number * jmdweb/public/formed/formedtree.xml: New formedtree.xml 2010-03-31 Torsten Irländer * mpulsweb/lib/search.py (CaseSearch.get_order): Change default sorting from "name" to "m.id" as not all cases will have a "name" field * mpulsweb/model/case.py (MpulsCase.get_infofield_fields): Added new method to get fields shown in infofield. Further added new option to set a label for each field in the infofield. * mpulsweb/lib/dialogs.py (checkPrivacyStatement.validate): Only do validation in privacy in case-modul is enabled 2010-03-31 Bernhard Herzog * mpulsweb/controllers/document.py: Fix formatting. 2010-03-30 Bernhard Herzog * mpulsweb/lib/base.py (BaseController._loadCase): Do not catch an exception just to reraise it without doing anything else. 2010-03-29 Bernhard Herzog Fix naming of CaseSearch methods. * mpulsweb/lib/search.py (CaseSearch.__get_fields) (CaseSearch.__get_where, CaseSearch.__get_order): Removed the leading underscores from the method names. These are methods that are likely to be overwritten or extended by derived classes and should not be private. (CaseSearch.get_fields, CaseSearch.get_where) (CaseSearch.get_order): The new names of the above methods. (CaseSearch._build_sql): Adapt to new method names. * jmdweb/lib/search.py (CaseSearch.__get_where) (CaseSearch.get_where): Removed the underscore from the name like in the base class. Overwriting the __get_where method worked only by accident: base class and derived class have the same name, so Python's name-mangling for private methods produces the same names. 2010-03-29 Bernhard Herzog * mpulsweb/lib/anonymize.py: Fix formatting. 2010-03-29 Bernhard Herzog * jmdweb/model/case.py: Fix formatting. 2010-03-29 Bernhard Herzog * jmdweb/lib/search.py: Fix formatting. 2010-03-29 Bernhard Herzog * jmdweb/controllers/case.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/model/user.py (UserGroupList.__init__) (UserGroupFactory.create, UserGroupFactory.load) (UserGroup.setUser, UserGroup._getCurrentUserIds) (UserGroup.delete, UserGroup.store, UserListObject.__init__): Turn prints to stderr in exception handlers into log.exception calls. 2010-03-29 Bernhard Herzog * mpulsweb/model/news.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/model/logbook.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/model/case.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/model/appointment.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/model/agencysettings.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/model/agencysettings.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/app_globals.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/base.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/config.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/db.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/lib/evaluation.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/helpers.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/navigation.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/search.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/lib/search.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/security.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/lib/security.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/timelog.py: Fix formatting. 2010-03-29 Bernhard Herzog * mpulsweb/lib/validators.py: Remove unused imports. 2010-03-29 Bernhard Herzog * mpulsweb/lib/validators.py: Fix formatting. 2010-03-26 Torsten Irländer * README.txt: Hinweise zur Durchführung von node-Tests eingefügt. * mpulsweb/tests/*: Deleted old tests in waskaweb. Didn't do anything. * development.ini: Added config param for formedtree. 2010-03-26 Bernhard Herzog * mpulsweb/model/phase.py: Fix formatting. 2010-03-26 Bernhard Herzog * mpulsweb/model/phase.py (PhaseFactory.load): Extract common subexpression into local variable. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/settings.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/settings.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/privacy.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/phase.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/news.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/mpuls.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/mpuls.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/info.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/evaluate.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/error.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/casedocument.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/caseappointment.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case_overview.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case_overview.py (parseSearchOptions): Refactor code a little to make it more readable and to keep the lines short 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case_bundle.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/administration.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/config/middleware.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/config/environment.py: Fix formatting. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/error.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/document.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case_bundle.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/case.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/auth.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/administration.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/config/middleware.py: Remove unused imports. 2010-03-25 Bernhard Herzog * mpulsweb/controllers/help.py: Remove unused imports. 2010-03-25 Torsten Irländer * jmdweb/model/case.py (Case.getDiscretionStatement): Deleted. Seems not to be used in jmdweb. * mpulsweb/model/agencysettings.py (Agency.getDiscretionStatement): Deleted. Not used in mpulsbase. * jmdweb/model/statement.py (DiscretionStatement): Deleted not used in jmdweb. * mpulsweb/model/case.py (SessionCase.setData): Added missing function to set date in Session. * mpulsweb/templates/privacy/default_statement.mako: Do not escape rendererd statement. * jmdweb/model/case.py (Case.getPrivacyStatement): Deleted moved to mpulsbase. * mpulsweb/model/case.py (MpulsCase.getPrivacyStatement): New Copied from jmdweb. * jmdweb/model/case.py (Case.getSessionCase): Deleted. Moved to mpulsbase. * mpulsweb/model/case.py (MpulsCase.getSessionCase): New. Copied from mpulsbase. * mpulsweb/model/case.py (MpulsCase.__init__): Copied from jmdweb. * jmdweb/model/case.py (Case): Deleted constructor and state initialisaton. Moved to mpulsbase. * mpulsweb/controllers/case.py (CaseController.new): Copied from jmdweb * mpulsweb/controllers/case.py (CaseController.select): Copied from jmdweb. * jmdweb/controllers/case.py (CaseController.new): Deleted. Defined in mpulsweb now. * jmdweb/controllers/case.py (CaseController.select): Deleted. Defined in mpulsweb now. * mpulsweb/templates/formularpage/formular.mako: Do not escape Formularheaders. * mpulsweb/controllers/administration.py (AdministrationController.deleteUser): Do not render trace.mako on exception. * mpulsweb/controllers/usersettings.py (UsersettingsController.changePasswordAction): Do not render trace.mako on exception. * mpulsweb/controllers/usersettings.py (UsersettingsController.changePasswordOnLoginAction): Do not render trace.mako on exception. * mpulsweb/controllers/appointment.py (AppointmentController.createAction): Do not render trace.mako on exception * mpulsweb/controllers/appointment.py (AppointmentController.editAction): Do not render trace.mako on exception * mpulsweb/model/agencysettings.py (Agency._loadDefaultStatement): Deleted. Not used anymore. * jmdweb/lib/base.py: Deleted. All functonallity is defined in mpulsbase. 2010-03-24 Torsten Irländer * jmdweb/controllers/evaluate.py (get_configfile): Search for the evaluation config at multiple places. * mpulsweb/lib/config.py: Added new configuration option for default search-date (used in evaluation now). Added config vars to set up the default selected phases on adele and other evaluations. Configure a new default evaluation. * mpulsweb/public/xml/eval_default.xml: New. Default evaluation for mpuls. Just count total amount of cases along the different phases. * jmdweb/templates/evaluation/evaluate.mako, * jmdweb/templates/evaluation/evaluate_adele.mako: Render phases based on config. Removed type of ending. * jmdweb/controllers/evaluate.py (get_phase_dates): New helper function to get start and end datefields for a given phase. * jmdweb/controllers/evaluate.py (get_search_options): Get default dates from config file in case no dates are submitted. Use new helper function get_phase_date. Removed handling of type of ending. Use configuration of default selected phases. * jmd.json: New configuration for JMD * jmdweb/model/case.py (CaseOverview): Delete function related to xml import exort. * jmdweb/templates/casemanagement/digest_body.mako: Do not differ between finished "Nachbetreuung" and "Casemanamenet" * jmdweb/model/case.py (State.isCmFinished): Get phase which are considered as finished CM from config. Do not differ between finished CM and NB in jmd. * mpulsweb/controllers/case.py (CaseController.digest): Do not call isCmCanceld. * mpulsweb/model/case.py (MpulsCaseState): New. Copied from jmdweb. * jmdweb/model/case.py (State): Inherited from MpulsCaseState. * jmdweb/model/case.py (SessionCase.isYoungerThan): Deleted. Seems not to be used in jmdweb. * jmdweb/model/case.py (Case.isYoungerThan): Deleted. Seems not to be used in jmdweb. * jmdweb/model/case.py (SessionCase.toFormData): Deleted. Not used in jmdweb. * jmdweb/model/case.py (SessionCase): Deleted. Defined in mpulsweb now. * mpulsweb/model/case.py (SessionCase): New. Copied from jmdweb. * mpulsweb/model/case.py (SessionCase.setData): Deleted. Seems not to be used in jmdweb. * jmdweb/model/case.py (Case.anonymize) (Case.restore): Deleted. Defined in mpulsweb now. * mpulsweb/model/case.py (Case.anonymize) (Case.restore): New copied from jmdweb. * mpulsweb/model/case.py (Case.getState), mpulsweb/model/case.py (Case.setState): New copied from jmdweb. * jmdweb/model/case.py (Case.getState), jmdweb/model/case.py (Case.setState): Deleted. Are defined in mpulsbase now. 2010-03-23 Bernhard Herzog * mpulsweb/model/case.py (MpulsCase.__init__): Do not load phaseslist here. Loading the phases list is quite expensive and not needed in most cases. (MpulsCase.get_phaseslist): New. Load phaseslist on demand. (MpulsCase.check_consistence, MpulsCase.check_anonymizeability) (MpulsCase.make_consistent): Use get_phaseslist instead of using phaseslist directly. 2010-03-23 Torsten Irländer Enable default html-escaping for mako-rendering. * mpulsweb/lib/config.py: Added new config vars to define which phases are considered as a active or finished case. * jmd.json: Configure active and finished phases for JMD. * jmdweb/model/appointment.py: Deleted. MaxSaveTimeReminders is now defined in base. * mpulsweb/model/appointment.py (MaxSaveTimeReminderOverview): New copied from jmdweb * mpulsweb/controllers/mpuls.py: Load Caseappointments and Reminders. * mpulsweb/controllers/mpuls.py (get_reminders): Changed rolename * mpulsweb/model/appointment.py (MaxSaveTimeReminderOverview): Fixed sql-statements. * mpulsweb/controllers/case.py (keepActive): New. Copied from jmdweb. * jmdweb/controllers/case.py (keepActive): Deleted. Now defined in mpulsweb. * jmdweb/controllers/caseappointment.py: Import all from mpulsweb. * mpulsweb/lib/validators.py (DeleteUserHelperForm): New copied from jmdweb. * jmdweb/controllers/administration.py: Import all from mpulsweb * jmdweb/lib/validators.py (DeleteUserHelperForm): Deleted. Defined in mpulsweb now. * mpulsweb/controllers/administration.py: Copied DeleteUserHelper from jmdweb. * jmdweb/controllers/administration.py: Deleted. DeleteUserHelper ist now defined in mpulsweb. * jmdweb/controllers/case.py: Removed methods for import and export. Removed constants for anonymization dialog * jmdweb/controllers/waska.py: Deleted. All functionallity is included n mpuls.py controller in mpulsweb * mpulsweb/model/case.py: Import Set * mpulsweb/templates/*.mako: Relaced "F.NA | h" with "F.NA". Escaping s now done with default escapping in mako * mpulsweb/templates/phase/phase.mako: Do not escape links on phase page. * jmdweb/controllers/caseappointment.py: Render already returns unicode, so d not convert it to unicode again. * mpulsweb/templates/auth/login.mako: Do not escape KA-Name. * mpulsweb/templates/casemanagement/caselist.mako: Do not escape values in caseoverview. * jmdweb/templates/formularpage/content.mako: Do not ecscape values. * jmdweb/templates/formularpage/formular.mako: Do not escape renderered formularpage * jmdweb/templates/casemanagement/digest_body.mako: Do not escape values in digest. * mpulsweb/templates/casemanagement/main.mako: Do not escape rendererd navgation and info field. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Render already returns unicode, so d not convert it to unicode again. * mpulsweb/controllers/formularpage.py (get_rendered_page): Render already returns unicode, so d not convert it to unicode again. * mpulsweb/config/environment.py (load_environment): Initiate new template lookup with automatic html-escaping. * mpulsweb/lib/base.py: Import render_mako as render (new mako renderer which seems to use to default html-escaping) 2010-03-19 Torsten Irländer * mpulsweb/controllers/case_overview.py (parseSearchOptions): Added check if phases are defined. * mpulsweb/lib/config.py: Removed field definition in default config * mpulsweb/lib/search.py (CaseSearch.__get_fields): Check if there are any additional fields defined to fetch. Fixed SQL syntax error if no fields are defined. * mpulsweb/model/case.py (MpulsCaseStandin): Copied from jmdweb.model.case. * jmdweb/model/case.py (CaseStandin): Deleted. Is now defined in mpulsweb. * mpulsweb/model/case.py (MpulsCase.getStandin): New. Copied from jmdweb. * jmdweb/model/case.py (Case.getStandin): Deleted. Is now defined in mpulsweb * mpulsweb/model/case.py (MpulsCase.delete): New. Copied from jmdweb. * jmdweb/model/case.py (Case.delete): Deleted. Is now defined in mpulsweb * jmdweb/model/case.py (Case.getId): Deleted. Seems not to be used anywhere. * jmdweb/model/case.py (Case.setEditor): Only define jmdspecific behavior, like setting editor name in formular. (Case.getEditor): Deleted. Defined in mpulsweb now. * jmdweb/model/case.py (Case.getEditor),(setEditor): New. copied from jmdweb. setEditor only defines transfering the case to the new user. No setting of names in forms are done. * jmdweb/model/case.py (MpulsCase.getDocuments): New. copied from jmdweb * jmdweb/model/case.py (Case.getDocuments): Deleted. Now defined in mpulsweb * jmdweb/model/case.py (State.getPhaseDescription): Use new phasemodel to get decription and state of current phase. * jmdweb/controllers/case_overview.py (CaseOverviewController): Deleted obsolete code. The code was either moved to mpulsbase or is not used in jmd yet (xml-import xml-export e.g) * INSTALL: Updated Information on how to configure caseoverview. * jmdweb/lib/app_globals.py: Added global var for case object * mpulsweb/model/case.py (Field): Added three new option to configure if and how a field will be displayed in the overview page, (MpulsCase.get_overview_fields): Added new function to return a list of fields which will be shown in overview. * mpulsweb/templates/casemanagement/caselist.mako: Which fields are shown in overview ist no determined by settings in the json file. * jmdweb/controllers/case_overview.py: Deleted. Not used anymore. 2010-03-18 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Render the warnings produces while rendering the widgets. Missing required fields are now warned about again, as long as warning rules exist for them. 2010-03-18 Bernhard Herzog Check for warnings while rendering the form. Requires libformed revision 111:e54138cbf88d. * mpulsweb/lib/renderer.py (ViewRenderer.__init__): Add instance variable for warnings (ViewRenderer._checkWarnings): New. Checks a given node for warnings by evaluating warning and notice rules. (ViewRenderer._renderChild): Call _checkWarnings for all children. The child object may actually be a meta node, so the _checkWarnings method has to check for that. 2010-03-18 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderConditional): Evaluating conditionals is now handled in libformed, so we do not need to do manually here. Requires revision 107:1bc2755896f8 of libformed. 2010-03-18 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderChild): Log a debug message if a child will be ignored unexpectedly. 2010-03-18 Torsten Irländer * mpulsweb/config/routing.py: Added new route for new controller to handle casebundles. * mpulsweb/controllers/case_overview.py: parsing SearchOptions is now a standalone function (needs to be imported from else too) * mpulsweb/lib/validators.py: Added new validators for bundled actions. * mpulsweb/templates/casemanagement/search.mako: Added new Link to reset saved search and bundle params. * mpulsweb/templates/casemanagement/main.mako: Do not reset search options when returning to overviewpage. * mpulsweb/templates/main.mako: Do not reset seaerch options when entering overviewpage. * mpulsweb/controllers/case_bundle.py: New controller to handle bundled actions * jmdweb/controllers/case_overview.py: Import validators for bundle actions from mpulsweb now. * jmdweb/lib/validators.py: Deleted validators for bundled actions. Are defined in mpulsweb now. * mpulsweb/templates/casemanagement/overview.mako: Adapted rolenames and call new case_bundle controller instead of old case_overview controller for bundled actions. * mpulsweb/controllers/case_bundle.py, mpulsweb/templates/casebundle, jmdweb/templates/casemanagement: Moved templated for casebundle to mpulsweb. 2010-03-17 Torsten Irländer * mpulsweb/templates/casemanagement/search.mako: Reordered fields in Search. Use css-style "display:none" to hide search option in not extended mode of search instead of using hidden fields * mpulsweb/controllers/case_overview.py: Did some codecleanup. * mpulsweb/lib/validators.py (SearchCaseForm): Added new options to check * mpulsweb/lib/config.py: Added config vars for default search options in casesearch. * mpulsweb/controllers/case_overview.py: Load default search options from mpulsconfig * jmd.json: Added new config vars to jmd.json * mpulsweb/lib/config.py: Added missing search options to config * mpulsweb/lib/validators.py (SearchCaseForm): Convert List elements to strings. * mpulsweb/lib/config.py: Added new config var for case exports. * mpulsweb/templates/casemanagement/overview.mako: Show export options only if they are enabled in config * jmd.json: Disable caseexport in jmd-config. * mpulsweb/model/case.py, jmdweb/model/case.py: Moved CaseList and Parts of CaseBundle into mpulsweb 2010-03-16 Torsten Irländer * mpulsweb/lib/config.py: Added two new config vars to enabled and disable search and bundled actions in caseoverview. * jmdweb/templates/casemanagement/overview.mako: Only show bundled actions if they are enabled. * jmdweb/templates/casemanagement/caselist.mako: Only show checkboxes for bundled actions if they are enabled. * jmdweb/templates/casemanagement/overview.mako, jmdweb/templates/casemanagement/caselist.mako: Moved to mpulsbase. * mpulsweb/templates/casemanagement/search.mako: Reduced basic search to status and responsibility search options. More will follow. * jmdweb/lib/search.py (__get_where): Overwrite function from mpulsbase * jmdweb/lib/validators.py: Removed EvaluationFormValidator. * mpulsweb/lib/validators.py: Added EvaluationFormValidator. * mpulsweb/lib/search.py: New. * mpulsweb/controllers/case_overview.py (CaseOverviewController): New. * jmdweb/controllers/case_overview.py (CaseOverviewController): Inherit from mpulsbase. * jmdweb/lib/validators.py (SearchCaseForm), mpulsweb/lib/validators.py (SearchCaseForm): Moved from jmdweb * jmdweb/lib/app_globals.py (Globals): Set var for casesearch * mpulsweb/model/case.py (MpulsCaseOverview): New. Baseclass for CaseOverviews. * mpulsweb/controllers/case_overview.py (CaseOverviewController.overview): Moved function into mpulsbase. * jmdweb/model/case.py (CaseOverview): Inherit from mpulsbase. * mpulsweb/controllers/case_overview.py: Moved search function to mpulsbase. * jmdweb/controllers/case_overview.py: Deleted code which was moved to mpulsbase. * jmdweb/lib/validators.py (SearchCaseForm): Deleted. Was moved to mpulsweb 2010-03-15 Torsten Irländer * mpulsweb/lib/dialogs.py: New. Includes checkPrivacy-Decorator and future logic for confirm-dialogs. * jmdweb/controllers/case.py (checkPrivacyStatement): Deleted. Is now imported from lib/dialogs * jmdweb/controllers/caseappointment.py: Improt checkPrivacyStatement from lib/dialogs * jmdweb/lib/search.py: Restructured search to make it better refactorable. 2010-03-10 Torsten Irländer * jmdweb/public/formed/formedtree.xml: Added new formedtree for jmdweb 2010-03-12 Bernhard Herzog * jmdweb/public/formed/formedtree.xml: Fix typo in age rule. 2010-03-12 Bernhard Herzog * jmdweb/public/formed/formedtree.xml: Fix expression of conditional testing the age of the person in case management. Requires at least revision 98:a85388571608 of libformed. 2010-03-11 Bernhard Herzog * mpulsweb/controllers/formularpage.py (convert_error_items): New. Combines convertErrorItem2ErrorDic and convertErrorItem2ValueDic (convertErrorItem2ErrorDic) (convertErrorItem2ValueDic): Removed. (get_rendered_page): Use convert_error_items instead of convertErrorItem2ErrorDic and convertErrorItem2ValueDic 2010-03-11 Bernhard Herzog * mpulsweb/controllers/formularpage.py (convertErrorItem2WarningDic): removed. Not used anymore. 2010-03-11 Bernhard Herzog * mpulsweb/controllers/formularpage.py (convertErrorItem2ErrorDic): Do not check the error items type. The type attribute can be used to distinguishe between semantic errors and violations of error rules, but it cannot be used to tell warnings from errors. (get_rendered_page): Always set warnings to an empty dict because the list of error items used will not contain any warning anyway. 2010-03-09 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderExternalChoiceList): Actually insert the rendered external choices into the output. Now the contents of the external choices are visible in the web interface. 2010-03-08 Torsten Irländer * mpulsweb/lib/validators.py (DateOrder): New Validator to check to correct order of two datefields. (MyDateConverter): New DateConverter which allows dd.mm.jjjj dates. (CreateAppointmentForm): User new Validators * mpulsweb/lib/validators.py (CreateAppointmentForm), (CreateLogbookForm): Use MaxLength-Validator instead of custom StringTooLong - Validator * jmdweb/lib/validators.py: Do not import StringTooLong validator * waskaweb/lib/validators.py:Do not import StringTooLong validator * mpulsweb/lib/validators.py (StringTooLong): Deleted. Not used anymore. Fileuploads * mpulsweb/model/document.py, mpulsweb/controllers/casedocument.py, mpulsweb/controllers/document.py, mpulsweb/lib/validators.py, mpulsweb/templates/documents/case_new.mako, mpulsweb/templates/documents/global_upload.mako: Changed upload logic. Now the user can give an optional name for documents. This enables saving files under an alternativ name. Further the user can select if he wants to overwrite any existing files with the same name. For that some new validator logic was written. * mpulsweb/lib/validators.py (FileExistsChecker.validate_python): Fixed SQL statement to check if there is already a file with the name for the current case. 2010-03-05 Torsten Irländer * mpulsweb/lib/validators.py (LoginCheck.validate_python): Fixed mpuls issue 1285. Check if username is "cm", "admin" oder "adm". Raise exception if so. * mpulsweb/lib/validators.py (SecurePassword.validate_python): Fixed mpuls issue 1290. Ensure that userpassword does not contain only numbers or special chars. * mpulsweb/lib/validators.py (MyDateConverter.__init__): New Converter inherited from DateConverter. Allow german notation. * mpulsweb/model/appointment.py (Appointment._convertStr2Date): Deleted. Not used anywherenow * mpulsweb/model/appointment.py (Appointment._convert2Datetime): New convert function which combines date and time to datetime. * mpulsweb/model/appointment.py (Appointment.setData): Use convert function 2010-03-05 Bernhard Herzog * mpulsweb/controllers/formularpage.py (prepare_htmlfill_defaults): New. Prepare default values for htmlfill. Currently this only affects date objects which are converted to strings using the format_date function. Now date fields that contain values that violate rules are shown in the same format as other date fields again. (get_rendered_page): Convert the defaults with prepare_htmlfill_defaults before passing them to htmlfill 2010-03-05 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderConditional): Evaluate the conditional's expression and render the conditional depending on its result. 2010-03-04 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderConditional): Remove unused local variable out. 2010-03-04 Bernhard Herzog Make plain boolean fields work in the form pages * mpulsweb/lib/renderer.py (hidden_bool_tag) (apply_hidden_booleans): New functions to create resp. use hidden fields that help detect unchecked boolean fields (ViewRenderer._renderPlainBool): Make plain booleans work using hidden_bool_tag and always setting the value to "1" and setting the checked attribute only if the current value of the formed field is 1. * mpulsweb/controllers/formularpage.py (FormularpageController.save): Handle unchecked booleans using apply_hidden_booleans 2010-03-04 Torsten Irländer * jmdweb/public/formed/annotations.xhtml, jmdweb/public/formed/formedtree.xml: New formedtree and annotationsfile. 2010-03-04 Bernhard Herzog * mpulsweb/lib/renderer.py (tag): Render the boolean attributes as e.g. checked="checked" instead of just using checked. This is more correct and htmlfill expects this. 2010-03-03 Bernhard Herzog * mpulsweb/lib/navigation.py (NavigationTree.render): Avoid mutable default arguments. 2010-03-02 Bernhard Herzog * mpulsweb/lib/renderer.py (ErrorRenderer.render_items): Actually render the title given as a parameter, not the hard-wired one. 2010-03-01 Bernhard Herzog * wasko.json: Add repeat group digest specifications for wasko 2010-03-01 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest): Log a warning if no digest specification can be found for the repeat group 2010-03-01 Bernhard Herzog * jmd.json: Add JMD repeat group digest configuration 2010-03-01 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Instantiate the RepeatGroupRenderer with the repeat group digest settings of the mpuls configuration 2010-03-01 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.__init__): Extend base class method with an additional parameter, digests, that specifies the repeat group disgest configuration (RepeatGroupRenderer.render_digest): Use the repeat group digest specification given to the constructor, not the hard-wired one. 2010-03-01 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.build_defaults): Add default for repeat group digest configuration. 2010-03-01 Bernhard Herzog * mpulsweb/lib/renderer.py (RepeatGroupRenderer.render_digest): Remove unused variable rgdigests 2010-03-01 Bernhard Herzog * mpulsweb/lib/config.py (unmergable_dict, unmergeable_dict): Fix spelling of "mergeable". 2010-03-01 Bernhard Herzog * mpulsweb/lib/config.py (merge): Expand doc-string and mention unmergable_dict 2010-03-01 Bernhard Herzog * mpulsweb/lib/config.py (unmergable_dict): New. Class to use instead of plain dict objects as default values MpulsConfig. Instances of unmergable_dict will not be merged recursively, so that the dict can be overwritten completely in the json file. 2010-03-01 Torsten Irländer * jmdweb/controllers/casedocument.py: Import BaseController from mpulsweb. * mpulsweb/controllers/casedocument.py, jmdweb/controllers/casedocument.py: Moved. * jmdweb/controllers/case.py: Do not import DataSaveException anymore. * mpulsweb/lib/config.py: Added new config var to enable/diable casedocuments and logbook. * mpulsweb/templates/casemanagement/main.mako: Display link to casedocuments only if module is enabled. Formatting. * mpulsweb/lib/helpers.py (format_date), (format_time), (format_datetime): Unicode handling in strftime-functions in lib/helpers * jmdweb/public/formed/formedtree.xml: New formedtree with rg for "unterstützungsangebote" 2010-02-26 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals.__init__): tell paste to restart the server if the formed files change. 2010-02-26 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals.__init__): The AnnotationsProvider already handles missing files gracefully, so there's no need to ignore any exceptions at this point. If the annotation file is broken, it's better to fail noisily, than to pretend there are no annotations. 2010-02-26 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.__init__): Register the json config file with paste so that the paste server restarts automatically when the file changes. 2010-02-26 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderDummyGroup) (ViewRenderer._renderDummyLeaf): Removed. Unused. 2010-02-26 Bernhard Herzog * mpulsweb/lib/renderer.py (tag): Better handling of boolean attributes. Now attribute values are converted to strings for most attributes and only treated as booleans for a predefined set of attributes. Update the doc-string accordingly. 2010-02-26 Torsten Irländer Moved logic for consistence checks and anonymisation into mode.case. * mpulsweb/model/case.py (ConsistenceCheckException): New class for exceptions related to consistence checks. * mpulsweb/model/case.py (MpulsCase.check_consistence): New method that checks the consistence of a case and raises an ConsistenceCheckException if the case is not consistent. * mpulsweb/model/case.py (MpulsCase.make_consistent): New method which will ensure minimal consistence of a case. * mpulsweb/model/case.py (MpulsCase.make_anonymizable): New method which will set the case in a anonymizable state. * mpulsweb/controllers/case.py (CaseController._markForAnonymize), (CaseController.anonymize): Use new anonymization related functions from model.case. * jmdweb/controllers/case.py: Removed unused imports. * mpulsweb/lib/anonymize.py: Deleted functions which has been moved into mpulsbase model.case * mpulsweb/model/case.py (MpulsCase.check_anonymizeability): New method to check if a case can be anonymized. This check can enhance the consistence check in some points, but it will always include the consistence check * mpulsweb/controllers/case.py (CaseController.markForAnonymize), (CaseController.anonymize): Call new check_anonymizeability() method. * mpulsweb/model/phase.py (ConsistenceCheckException): Moved exception class into phase model * mpulsweb/model/phase.py (PhaseList.check_consistence): New Method. Raises exception with info on which phase is not consistent. * mpulsweb/model/phase.py (PhaseList.is_valid): Use check_consistence to estimate consistence of a case. * mpulsweb/model/case.py: Import ConsistenceCheckException from model.phase now. * mpulsweb/model/case.py (MpulsCase.check_consistence): Implement consistence check. * mpulsweb/lib/config.py: Added new variable to blacklist phaseparts for anonymisation. * jmd.json: Define blacklistet phasepart for jmd * mpulsweb/model/phase.py: Implement some code to check if a case can be anonymized. * mpulsweb/model/case.py: Implemented basic checks if a case can be anonymized. * mpulsweb/model/case.py (get_default_value): Method which returns the default value for a given item of the instancetree. * mpulsweb/model/case.py (MpulsCase.make_consistent): Check all fields up to the current phase and set value to default value if no value is set. * mpulsweb/model/case.py (MpulsCase.make_anonymizable): Ensure that the current phase is finished. Then make the case consistent. * jmdweb/templates/statement/dialogs/missing_statement_body.mako: Adopted links to new privacy controller * mpulsweb/controllers/privacy.py (PrivacyController.decline): Implemented all methods used to set or decline the declaration of consent in mpuls, which is the most important privacy statement. Decline does not yet do a full anonymization. 2010-02-25 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako (fields): Port fix for empty editor names from jmdweb. 2010-02-25 Bernhard Herzog * jmdweb/templates/casemanagement/caselist.mako (fields): Handle empty first or last names of a case's editor. 2010-02-25 Bernhard Herzog * waskaweb/lib/search.py (Search.queryDB): Port the exception handler removal from jmdweb to waskaweb. 2010-02-25 Bernhard Herzog * jmdweb/lib/search.py (Search.queryDB): Remove a try-except that simply suppressed all exception without even logging it. Now the exception is not handled in queryDB at all. This exception hander masked a real bug in the JMD database currently in use for development. 2010-02-25 Torsten Irländer * jmdweb/templates/casemanagement/dialogs/success_set_phase.mako, waskaweb/templates/casemanagement/dialogs/success_set_phase.mako, mpulsweb/templates/phase/dialogs/success_set_phase.mako: Adapted links to new controller structure. And moved template into mpulsbase. * mpulsweb/templates/casemanagement/dialogs/confirm_markanonymize.mako: * mpulsweb/controllers/case.py (CaseController.markForAnonymizeFromOverview): Copied from jmdweb. * jmdweb/controllers/case.py (CaseController.markForAnonymizeFromOverview): Deleted. Implemented in mpulsbase now. * mpulsweb/controllers/phase.py: Enabled setting phase and deleted old code. * mpulsweb/templates/phase/phase.mako: Adapted link to set action in controller. Changed name of the submitbuttons. * mpulsweb/lib/config.py: Added new config var, which can be used to enable or diable privacy related things within wasko. This is will be very uncommon. Default is enabled. * mpulsweb/templates/casemanagement/main.mako: Show privacy menu dependign on setting of the configuration. * mpulsweb/templates/privacy/list_statements.mako: New. Default (empty) template to list available privacy related statement. * mpulsweb/controllers/privacy.py: New. Controller to handle privacy releted things in mpuls * mpulsweb/templates/casemanagement/main.mako: Call listStatement method from new privacy controller. * mpulsweb/lib/anonymize.py: New. Lib to handle anonymization of cases. Will do checks and modification on the case to enable anonyization e.g anonyize case in a consistent state. * mpulsweb/controllers/case.py (CaseController.markForAnonymize): New. Use anonymize lib to check if teh case can be anonymized. This is currently a dummy. check will always fail. * jmdweb/controllers/case.py (CaseController.markForAnonymize): Commented out code. Is now implemented in mpulsbase. * mpulsweb/templates/dialogs/notification.mako: Fixed c-vars in template * mpulsweb/templates/dialogs/confirm.mako: Added some fallback vars to ensure that this dialog also works with old c-vars. * mpulsweb/templates/dialogs/success.mako: Added some fallback vars to ensure that this dialog also works with old c-vars. * mpulsweb/lib/anonymize.py (determineAnonymizedCaseEndPhase): New. Fucntion to determine the final phase of the case after anonymisation. * mpulsweb/controllers/case.py (CaseController.markForAnonymize): Enable marking a case form anonymization. * jmdweb/templates/casemanagement/dialogs/confirm_markanonymize.mako, jmdweb/templates/casemanagement/dialogs/failed_markanonymize_phase_incomplete.mako, jmdweb/templates/casemanagement/dialogs/success_markanonymize.mako, mpulsweb/templates/casemanagement/dialogs/success_markanonymize.mako, mpulsweb/templates/casemanagement/dialogs/failed_markanonymize.mako: Moved templates to base * jmdweb/controllers/case.py (_determineAnonymizedCaseEndPhase): Deleted. Import from lib/anonymize. * mpulsweb/lib/anonymize.py (_completeAnonymizedCase): Added outcommented code to document which was done to complete the case on anonymization in WASKO. * jmdweb/controllers/case.py (_completeAnonymizedCase): Deleted. Import from lib/anonymize now. Does currently nothing. * jmdweb/controllers/case.py (CaseController.markForAnonymize): Deleted. Is now implemented in base. * mpulsweb/controllers/case.py (CaseController.anonymize): Implement logic to anonymize case in case-controller. * jmdweb/controllers/case.py (CaseController.anonymize): Deleted. Is implemented in mpulsbase now. * mpulsweb/controllers/case.py (CaseController.delete), mpulsweb/controllers/case.py (CaseController.markFordelete): Copied from jmdweb. Did some cleanup. * waskaweb/controllers/case.py (CaseController.delete), waskaweb/controllers/case.py (CaseController.markFordelete): Deleted Is now implemented in mpulsbase. * mpulsweb/controllers/case.py (CaseController.reset): Copied from jmdweb. Did some cleanup. * jmdweb/controllers/case.py (CaseController.reset): Deleted. Is implemented in mpulsweb now. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py (ErrorRenderer.render_items): New method to render error and warning items. This is a parameterized version of duplicated code in ErrorRenderer.render (ErrorRenderer.render): Use render_items to render errors and warnings. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py (ErrorRenderer.render): Remove unused local variables. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py: Remove some more commented out code. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py: Remove commented outcode 2010-02-24 Bernhard Herzog * jmdweb/controllers/case_overview.py (CaseOverviewController._buildCaseList): scape case fields properly for HTML. Port of corresponding change in waskaweb 2010-02-24 Bernhard Herzog * mpulsweb/controllers/formularpage.py (get_rendered_page): Escape page description when generating HTML 2010-02-24 Bernhard Herzog * waskaweb/controllers/case_overview.py (CaseOverviewController._buildCaseList): Escape case fields properly for HTML. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderText) (ViewRenderer._renderDate, ViewRenderer._renderInt) (ViewRenderer._renderRadio, ViewRenderer._renderPlainBool) (ViewRenderer._renderChoice, ViewRenderer._renderChoiceGroup) (ViewRenderer._renderChoiceBool, ViewRenderer._renderMatrix) (ViewRenderer._renderMatrix) (ViewRenderer._renderExternalChoiceList): Reduce number of local variables. Remove some unused ones. 2010-02-24 Torsten Irländer * jmd.json: Added rule definitions to the phase configuration * jmdweb/model/phase.py: Enabled evaluating rules defined in configuration. * jmdweb/templates/phase/phase.mako: Adopted function names and added submitbuttons * jmdweb/public/formed/formedtree.xml: Added rules to formedtree * mpulsweb/lib/config.py: Added configuration for fields (and) rules definition for phases * waskaweb/model/phase.py, mpulsweb/model/phase.py: Moved phasemodel to mpulsbase * waskaweb/controllers/phase.py: Import PhaseFactory from mpulsbase * mpulsweb/controllers/phase.py: Import PhaseFactory from mpulsbase * mpulsweb/model/phase.py: Check for each phasepart if it is running. * mpulsweb/model/phase.py (PhaseList.get_current_phase_id): Added function to return the id of the current active phasepart * mpulsweb/templates/phase/phase.mako: Print some info about the phases. Are they already finished, currently running, not yet started. * mpulsweb/model/phase.py (Field.get_link): Fixed generating style for links. * mpulsweb/lib/config.py: Added confg for for phase relevant dates * jmd.json: Added phase relevant dates. * mpulsweb/lib/helpers.py: Import NA filter in helpers. * mpulsweb/model/phase.py: Load phase relevant date for phasepart. * mpulsweb/templates/phase/phase.mako: Display phase relevant date * mpulsweb/model/phase.py (PhaseList.is_valid): new method to check if all phases up to the current phase are valid. * mpulsweb/templates/phase/phase.mako: Only show the submitbuttons if the phaselist is valid and the phasepart is the direct neighbour of the current phasepart. * mpulsweb/controllers/phase.py, jmdweb/controllers/phase.py: Moved phasecontroller to mpulsbase * waskaweb/controllers/phase.py: Deleted old phase controller 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py (ViewRenderer._renderText) (ViewRenderer._renderInt): Avoid double escaping. 2010-02-24 Bernhard Herzog * mpulsweb/lib/renderer.py (tag): Add doc-string. 2010-02-23 Bernhard Herzog Make the renderer quote texts properly: * mpulsweb/lib/renderer.py (tag): New function. Create an opening tag with attribute and proper quoting. (ViewRenderer.next_tabindex): Just return the index as a string, not the whole attribute=value string. (ViewRenderer.render, ViewRenderer._renderLabel) (ViewRenderer._renderAttributes, ViewRenderer._renderErrors) (ViewRenderer._renderDummyLeaf, ViewRenderer._renderRepeatList) (ViewRenderer._renderRepeatNav, ViewRenderer._renderInfo) (ViewRenderer._renderText, ViewRenderer._renderDate) (ViewRenderer._renderInt, ViewRenderer._renderTextArea) (ViewRenderer._renderRadio, ViewRenderer._renderPlainBool) (ViewRenderer._renderChoice, ViewRenderer._renderChoiceGroup) (ViewRenderer._renderMatrix) (ViewRenderer._renderExternalChoiceList) (RepeatGroupRenderer.render_digest, RepeatGroupRenderer.render) (ErrorRenderer.render): Use tag where useful and ensure proper quoting. 2010-02-23 Bernhard Herzog * mpulsweb/lib/renderer.py: Remove some commented out code. 2010-02-23 Bernhard Herzog * mpulsweb/lib/renderer.py (Div.__init__, Item.__init__): Removed. The base class constructor has the same effect as these methods. 2010-02-23 Bernhard Herzog * mpulsweb/lib/renderer.py: Some more formatting fixes. 2010-02-23 Bernhard Herzog * mpulsweb/lib/helper/filters.py (no_none, NA): Simplify check for empty value. Now both functions use the same test. There's no need to check for the unicode variants explicitly because byte-strings are automatically converted to unicode anyway. Also NA now also return "-/-" when the value is None. 2010-02-23 Bernhard Herzog * mpulsweb/lib/renderer.py: Remove unused imports 2010-02-23 Bernhard Herzog * mpulsweb/lib/renderer.py: Fix formatting. 2010-02-23 Torsten Irländer * jmdweb: New. copied from waskaweb. Adapted imports to jmdweb. * mpulsweb/lib/config.py: Setting better defaults for logbook configuration. * jmd.json: Configured phases, logbook (wasko-like) and fields for jmd. * jmdweb/public/formed/formedtree.xml: Added JMD-Formed tree * jmdweb/templates/casemanagement/main.mako: Removed "Neuaufnahme" "Wiederaufnahme" * jmdweb/controllers/case.py: Inherit CaseController from MpulsCaseController * mpulsweb/lib/config.py (get_path): Fix get_path function to work with multiple locations of static files * mpulsweb/controllers/case.py (CaseController): New. * mpulsweb/controllers/case.py: Import UserGroup and Userlist * jmdweb/controllers/case.py: Commented out method for organisaion (defined in mpulsweb) * mpulsweb/lib/base.py (_loadCase): New. general function to load a case. * jmdweb/lib/validators.py (NewCaseForm): Removed some check on fields. * jmdweb/templates/casemanagement/new.mako: Removed some waska-specific parts and removed adress-fields, as they are located in rg. * jmdweb/public/formed/formedtree.xml: New formedtree. * mpulsweb/model/agencysettings.py: Enable logging * jmdweb/model/case.py: Fixed initCase method to work with jmd cases. * mpulsweb/lib/validators.py (SetStandinForm): Copied from waskaweb. * mpulsweb/lib/validators.py (SetEditorForm): Copied from waskaweb. * jmdweb/lib/validators.py (SetStandinForm) (SetEditorForm): Removed. Implemented in mpulsbase. * waskaweb/lib/validators.py (SetStandinForm) (SetEditorForm): Removed. Implemented in mpulsbase. * waskaweb/controllers/case.py: Import validator to set standin and editor from mpulsweb * mpulsweb/controllers/case.py (CaseController.setEditorAction), * mpulsweb/controllers/case.py (CaseController.setStandinAction): Copied from waskaweb * jmdweb/controllers/case.py (CaseController.organsation), (CaseController.setEditorAction), (CaseController.setStandinAction): Deleted. * waskaweb/controllers/case.py (CaseController.organsation), (CaseController.setEditorAction), (CaseController.setStandinAction): Deleted. * mpulsweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/organisation.mako, jmdweb/templates/casemanagement/organisation.mako: Moved template to base. * mpulsweb/controllers/case.py: Copied some functions from jmdweb to mpulsweb * jmdweb/controllers/case.py: Deleted some functions which are now defined in mpulsweb 2010-02-22 Bernhard Herzog * INSTALL: Update documentation for the field-specific settings. 2010-02-22 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.build_defaults): Add comment for the fields setting. 2010-02-22 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.newAction): Sanitize the form_result with convert2dic when passing it to createNew. * mpulsweb/model/case.py (MpulsCaseFactory._updateMasterOnCreate): Do not call convert2dic here. Expect the data to be already sanitized. 2010-02-22 Bernhard Herzog * waskaweb/controllers/case.py: Rearrange imports 2010-02-22 Bernhard Herzog Move most of the CaseFactory to mpulsweb: * mpulsweb/model/case.py (LOAD_CASE_SQL, MpulsCaseFactory): Moved here from waskaweb/model/case.py. MpulsCaseFactory is the MPuls base class for case factories. * waskaweb/model/case.py (CaseFactory): Derive from MpulsCaseFactory. All methods except _initNewCase are in the base class now. (LOAD_CASE_SQL): Removed. Moved to mpulsweb/model/case.py 2010-02-22 Bernhard Herzog * waskaweb/model/case.py (CaseFactory._updateMasterOnCreate): Simplify exception handling. The SetDataException is still caught, though, but it's logged at least. 2010-02-22 Bernhard Herzog * waskaweb/model/case.py (SessionCase.setData) (SessionCase.toFormData): The conversion from AliasDescription to Field was incomplete. Fix it. 2010-02-22 Bernhard Herzog * waskaweb/model/case.py (Case.init_state): New method to instantiate the State object. (Case.__init__): Add parameters: state_id=None, state_status, state_access. These are passed through to init_state to instatiate the State object (CaseFactory.loadById, CaseFactory.loadFromQueryResult): Do not instatiate State here, let the Case object do it. 2010-02-22 Bernhard Herzog * waskaweb/model/case.py (State.__init__): Add parameters: id, state, access. Now it's possible to instantiate State in one go, without having to call setData separately. (CaseFactory.loadById): Pass the master_id of the State object as a keyword argument because the order of the parameters of the State constructor has changed 2010-02-22 Bernhard Herzog * waskaweb/model/case.py (State.setAccessTime): Removed. Not used anywhere. 2010-02-19 Bernhard Herzog * mpulsweb/model/case.py (Field.default, Field.get_default): We only need a getter for the default property so rename get_default to default and use property as decorator. 2010-02-18 Bernhard Herzog * waskaweb/model/case.py: Remove unused imports. 2010-02-18 Bernhard Herzog Move the Case class partly to a new base class, MpulsCase: * waskaweb/model/case.py (Case): Derive from MpulsCase. (Case.set_fields, Case.__getattr__) (Case.get_preset_fields, Case.get_preload_fields) (Case.get_session_fields, Case.get_digest_fields) (Case.get_search_retrieve_fields, Case.get_search_match_fields) (Case.get_value, Case.get_description) (Case._load_formed_instance_tree, Case._get_formed_item): Removed. These methods are now in MpulsCase * mpulsweb/model/case.py (MpulsCase): New. Base class for the case objects, containing all the methods that were removed from Case 2010-02-18 Bernhard Herzog * mpulsweb/model/case.py (Field): Added. Moved from waskaweb * waskaweb/model/case.py (Field): Removed. Moved to mpulsweb 2010-02-18 Bernhard Herzog * waskaweb/lib/base.py: Import LoadCaseNotExistsError directly from mpulsweb 2010-02-18 Bernhard Herzog * mpulsweb/model/case.py (LoadCaseNotExistsError): Added. Moved from waskaweb. * waskaweb/model/case.py (LoadCaseNotExistsError): Removed. Moved to mpulsweb 2010-02-18 Bernhard Herzog * waskaweb/model/case.py: Remove unused imports. 2010-02-18 Bernhard Herzog * mpulsweb/model/case.py: Start the base version of the case model module. (get_field_identifier): Added. Moved here from waskaweb * waskaweb/model/case.py (get_field_identifier): Removed. Moved to mpulsweb. 2010-02-18 Bernhard Herzog * waskaweb/model/case.py (get_field_identifier): log.debug instead of printing to stderr 2010-02-18 Bernhard Herzog * waskaweb/controllers/casedocument.py (loadCase): Removed. No longer used. 2010-02-18 Bernhard Herzog * waskaweb/controllers/casedocument.py (CasedocumentController.overview): Use the _loadCase method instead of the loadCase function. 2010-02-18 Bernhard Herzog * waskaweb/controllers/caseappointment.py (loadCase): Removed. No longer used. 2010-02-18 Bernhard Herzog * waskaweb/controllers/caseappointment.py (CaseappointmentController.newReminder): CaseappointmentController is derived from the waskaweb BaseController now which has a _loadCase method, so use that instead of the loadCase function. 2010-02-18 Bernhard Herzog * waskaweb/controllers/caseappointment.py (CaseappointmentController.show): Set a default value for confirmed parameter to make this controller action work again. 2010-02-18 Bernhard Herzog * waskaweb/templates/casemanagement/showAppointment.mako: Fix navigation link. 2010-02-17 Bernhard Herzog * waskaweb/model/case.py (Case.set_fields): Remove some commented out code that was checked in accidentally 2010-02-17 Bernhard Herzog Final step in moving the field configuration to the configuration files: * wasko.json: Add wasko-specific fields configuration 2010-02-17 Bernhard Herzog * waskaweb/model/case.py (Case.fields, Case.alias_dict): Removed. Will now be set in set_fields (Case.set_fields): New. Classmethod to set fields and create the alias_dict. * waskaweb/lib/app_globals.py (Globals._init_case): Set the Case fields from the mpuls configuration 2010-02-17 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.build_defaults): Add a default field configuration 2010-02-16 Bernhard Herzog * waskaweb/lib/app_globals.py (Globals._init_case): Instantiate the CaseFactory with the Case class as argument. 2010-02-16 Bernhard Herzog * waskaweb/model/case.py (SessionCase._session_fields): New. SessionCase internal frontend for the get_session_fields method of the case factory (SessionCase.__init__, SessionCase.setData) (SessionCase.toFormData): Use _session_fields. 2010-02-16 Bernhard Herzog * waskaweb/model/case.py (CaseOverview.search): Access the case field descriptions through g.case_factory instead of the Case class. 2010-02-16 Bernhard Herzog * waskaweb/model/case.py (CaseFactory.get_search_retrieve_fields) (CaseFactory.get_search_match_fields) (CaseFactory.get_session_fields): New. Frontend for the same methods of the factory's case class so that they can easily be used to retrieve this information for the class that the case factory will instantiate. 2010-02-16 Bernhard Herzog * waskaweb/model/case.py (CaseFactory.__init__): New. Make it possible to instantiate the CaseFactory with the case class to instantiate. Default is to use Case from the same module. (CaseFactory._build_preset, CaseFactory.loadById) (CaseFactory.loadById, CaseFactory.loadFromQueryResult) (CaseFactory.createNew): Use the case class passed to the factory to instantiate the case object and to access metadata about the fields. 2010-02-16 Bernhard Herzog * waskaweb/model/case.py (CaseList.getCases) (CaseBundle.setEditor, CaseBundle.setStandin, CaseBundle.delete) (CaseBundle.anonymize, CaseBundle.restore) (CaseBundle.markAnonymize, CaseBundle.markDelete) (CaseOverview.search): Use g.case_factory instead of instantiating CaseFactory explicitly. * waskaweb/lib/base.py (BaseController._loadCase): Use g.case_factory instead of instantiating CaseFactory explicitly. * waskaweb/controllers/caselifetime.py (copy_case) (CaselifetimeController.abortcase) (CaselifetimeController.renew_ok) (CaselifetimeController.reopen_ok): Use g.case_factory instead of instantiating CaseFactory explicitly. * waskaweb/controllers/casedocument.py (loadCase): Use g.case_factory instead of instantiating CaseFactory explicitly. * waskaweb/controllers/caseappointment.py (loadCase): Use g.case_factory instead of instantiating CaseFactory explicitly. * waskaweb/controllers/case.py (checkPrivacyStatement.validate) (CaseController.newAction, CaseController.neuaufnahmeAction) (CaseController.wiederaufnahmeAction): Use g.case_factory instead of instantiating CaseFactory explicitly. 2010-02-16 Bernhard Herzog * waskaweb/lib/app_globals.py: New. WASKO-specific globals, including the instance of CaseFactory to use to instantiate WASKO-Case objects 2010-02-16 Bernhard Herzog * mpulsweb/config/environment.py (load_environment): Import app_globals using import_overridable_module so that it can be overridden in an MPuls specialization 2010-02-16 Bernhard Herzog * mpulsweb/config/importer.py: New module with one function: (import_overridable_module): Load a module either from the specialization or mpulsweb. * mpulsweb/config/middleware.py (MyPylonsApp.find_controller): Use import_overridable_module to import the controller module and use the module returned by that function directly, instead of always going through sys.modules. (controller_module): Removed. Not used anymore. 2010-02-16 Bernhard Herzog * mpulsweb/config/middleware.py (controller_module): New. helper function to determine the module name for a controller (MyPylonsApp.find_controller): When trying to import the specialization's controller, use try_import_module from paste.util.import_string, which will suppress the ImportError only when it's raised because the module itself cannot be found, but not if it's raised indirectly by some other module that cannot be imported. Also, use controller_module and improve comments, logging and the doc-string. 2010-02-16 Bernhard Herzog * mpulsweb/config/middleware.py (MyPylonsApp.find_controller): Do not catch Exceptions, especially ones raised by __import__, unless necessary to implement the desired functionality, and even then, at least print a full traceback. The base class method we override doesn't catch exceptions either. 2010-02-16 Torsten Irländer * waskaweb/lib/evaluation.py (Evaluation_14.perform): Evaluation is now done dynamically based on configuration. * waskaweb/templates/evaluation/logbook.mako: Template for logbook evaluation is now build dynamically based on configuration. * waskaweb/lib/evaluation.py (Evaluation.export): Deleted, as no export will be done for logbook evaluation. * waskaweb/lib/evaluation.py: General cleanup. Removed unused code und not used imports. * waskaweb/lib/evaluation.py (LogbookEvaluation.__init__): Renamed Evaluation_18 to LogbookEvaluation * waskaweb/model/logbook.py (Logbook.getEvaluation): Build LogbookEvaluation instead of Evaluation_18. Fixed import. * mpulsweb/lib/config.py: Removed configvar "logbook, types", as it is not used anywhere. * wasko.json: Added logbook configuration to wasko.json config file. * mpulsweb/lib/evaluation.py, waskaweb/lib/evaluation.py: Moved evaluation to mpulsweb. * waskaweb/model/logbook.py: Import evaluation from mpulsweb now. * mpulsweb/model/logbook.py, waskaweb/model/logbook.py: Moved model.logbook to mpulsweb * waskaweb/controllers/logbook.py: Import model logbook from mpulsweb. * waskaweb/controllers/case.py: Import model logbook from mpulsweb. * waskaweb/controllers/caselifetime.py: Import model logbook from mpulsweb. * waskaweb/controllers/logbook.py: Import lib.base from mpulsweb * mpulsweb/lib/validators.py (CreateLogbookForm), (EditLogbookForm): Copied from waskaweb.lib.validators * waskaweb/controllers/logbook.py: Import validators from mpulsweb now. * waskaweb/lib/validators.py (CreateLogbookForm), (EditLogbookForm): Deleted. Defined in mpulsweb now. * waskaweb/controllers/case.py (CaseController.__before__): Deleted. * waskaweb/controllers/case_overview.py (CaseOverviewController.__before__): Deleted. * mpulsweb/controllers/logbook.py, waskaweb/controllers/logbook.py: Moved controller to base. * mpulsweb/lib/validators.py: Expaned imports of validators. * mpulsweb/templates/logbook, waskaweb/templates/logbook: Moved templates for logbook to mpulsweb * mpulsweb/templates/logbook/overview.mako, waskaweb/evaluation/logbook.mako, mpulsweb/templates/logbook/evaluation.mako: Moved template for logbook evelaution into mpulsweb. * INSTALL: Added information on how to configure the logbook * mpulsweb/config/environment.py, mpulsweb/config/middleware.py: Enable cascaded loading of static files. * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Added new config var to set location of the formed files. * mpulsweb/lib/app_globals.py (Globals.__init__): Load formed from location defined in configurations file. Fall back to default location (public/formed) if no formed path is defined. * mpulsweb/public/images/logo_ka_75.png: Set logo of mpulsbase to mpuls-logo * waskaweb/public/images, * waskaweb/public/images/logo_ka_75.png: Added custom logo for WASKO * waskaweb/controllers/CaseBase.py (CasebaseController.getNavigation): Deleted. Not called from anywhere. It is only referenced in some outcommented code (controller/phase) which is still present for documentation of some logic which needs to be reimplemented using the new formed. * waskaweb/controllers/CaseBase.py (CasebaseController._setState): Deleted. Not called from anywhere. * waskaweb/controllers/CaseBase.py (CasebaseController.__before__): Deleted. Not used anymore. * waskaweb/controllers/statement.py (StatementController.__before__): Deleted. * waskaweb/lib/base.py (BaseController): New. Added method _loadCase to BaseController for waskaweb. Copied from CaseBase controller. * waskaweb/controllers/statement.py (StatementController): Inherit from BaseController. Formatting. * waskaweb/controllers/caselifetime.py (CaselifetimeController): Inherit from BaseController. Formatting. * waskaweb/controllers/case.py (CaseController): Inherit from BaseController. Formatting. * waskaweb/controllers/case_overview.py (CaseOverviewController): Inherit from BaseController. Formatting. * waskaweb/tests/functional/test_CaseBase.py, waskaweb/controllers/CaseBase.py: Deleted. Not used anymore. * mpulsweb/controllers/error.py, mpulsweb/templates/error, mpulsweb/templates/error/error.mako: Display custom error page in production mode. 2010-02-15 Bernhard Herzog * waskaweb/controllers/evaluate.py: The base package is called mpulsweb, not mpulsbase 2010-02-15 Bernhard Herzog * waskaweb/lib/validators.py: Remove unused imports 2010-02-15 Bernhard Herzog * waskaweb/lib/validators.py: Explicitly import ForEach from formencode and Bool, Int and String from formencode.validators and use the short names to refer to them. 2010-02-15 Bernhard Herzog * waskaweb/lib/validators.py: Fix formatting. 2010-02-15 Bernhard Herzog * mpulsweb/lib/validators.py: Remove unused imports 2010-02-15 Bernhard Herzog * mpulsweb/lib/validators.py: Fix formatting. 2010-02-15 Bernhard Herzog * mpulsweb/model/news.py: Fix formatting. 2010-02-15 Bernhard Herzog * mpulsweb/model/document.py: Fix formatting. 2010-02-15 Bernhard Herzog * waskaweb/controllers/casedocument.py: Remove unused imports 2010-02-15 Bernhard Herzog * waskaweb/controllers/casedocument.py: Fix formatting. 2010-02-15 Bernhard Herzog * waskaweb/controllers/caseappointment.py: Remove unused imports 2010-02-15 Bernhard Herzog * waskaweb/controllers/caseappointment.py (CaseappointmentController.edit): Remove superfluous checkRole decorator 2010-02-15 Bernhard Herzog * waskaweb/controllers/caseappointment.py: waskaweb.controllers.appointment has been renamed to mpulsweb.controllers.appointment 2010-02-15 Bernhard Herzog * waskaweb/controllers/caseappointment.py: Fix formatting. 2010-02-15 Bernhard Herzog * mpulsweb/lib/config.py (MpulsConfig.__init__): Do not catch errors raised when the json file cannot be loaded. If it cannot be loaded, the application will not work correctly anyway, so it's better to fail early and noisily. 2010-02-15 Torsten Irländer * waskaweb/controllers/case.py: Import CaseAppointmentFactory from mpulsweb.model.appointment * mpulsweb/lib/base.py (BaseController.__before__): Improved setting of language based on browsersettings. * setup.cfg: Added section for nose tests to define which will be the default ini file for testing. * waskaweb/lib/evaluation.py: Import lib.base from mpulsweb now * waskaweb/model/logbook.py (Logbook.getEvaluation): Simplify the init of the Evaluation. No need to build a casebundle. * waskaweb/lib/evaluation.py (where_ids): Copied from waskaweb.lib.sql_helpers. Deleted import of sql_helpers. * waskaweb/model/logbook.py: Deleted import of rangecompress from sql_helpers. * waskaweb/model/logbook.py: Deleted import of CaseBundle * waskaweb/lib/sql_helper.py: Deleted. Not imported from anywhere. * waskaweb/model/logbook.py: Get type descriptions of logbook entries from mpuls_config. * waskaweb/model/logbook.py: Deleted var AVGKIND2TEXT. Is not used anywhere. * waskaweb/lib/evaluation.py: Do not import SUMKIND2TEXT and KIND2TEXT from model.logbook. Get them from mpuls_config or define them in lib.evaluation as this is the only place where they are used. * waskaweb/model/logbook.py: Deleted SUMKIND2TEX. Not used in model.loogbook anymore. * mpulsweb/lib/config.py: Added new config vars for logbook types and descriptions * waskaweb/templates/logbook/edit_body.mako: Build select box for type of logbook entry dynamically from configuration. 2010-02-15 Bernhard Herzog * waskaweb/model/case.py: Import from mpulsweb.lib.base directly, not from waskaweb.lib.base. 2010-02-15 Bernhard Herzog * waskaweb/model/case.py: Rearrange imports, grouping the mpulsweb and waskaweb imports separately 2010-02-12 Bernhard Herzog * waskaweb/model/case.py (Field.__init__): New parameter and instance variable: preload. Indicates all fields to explicitly load when instantiating a case from its id. (LOAD_CASE_SQL): Do not hard-wire the list of fields to retrieve. (CaseFactory.loadById): Build the list of fields to retrieve with LOAD_CASE_SQL from the return value of get_preload_fields. (Case.fields): Set preload for all fields previously hard-wired in LOAD_CASE_SQL (Case.get_preload_fields): New method to return the fields to preload. 2010-02-12 Torsten Irländer * mpulsweb/lib/renderer.py: Removed some debugging output. * mpulsweb/controllers/formularpage.py: Removed some debugging output. * mpulsweb/config/middleware.py (make_app): Set locale on application init. * mpulsweb/lib/base.py (BaseController.__before__): Set translation language based on browser settings. Fall back to default language (locale) if not possible. * mpulsweb/lib/renderer.py (ViewRenderer._renderText) (ViewRenderer._renderDate), (ViewRenderer._renderInt), (ViewRenderer._renderTextArea): escape values before inserting the in the form. * mpulsweb/templates/main.mako: Changed link for application icon. Open "/" now. * mpulsweb/tests/__init__.py (TestController.__init__): Setup testenvironment. Copied code from waskaweb. 2010-02-11 Bernhard Herzog * waskaweb/lib/search.py (SEARCH_CASE_SQL): Make the list of the fields to retrieve and the match expression for the needle more dynamic. (CaseSearch.__init__): New parameter retrieve_fields and match_fields for the list of fields to retrieve and the list of fields to match (CaseSearch._build_sql): Build the sql-fragments for the list of fields to retrieve and the match expression for the needs from the list of fields to match and insert them into the SQL statement. * waskaweb/model/case.py (CaseOverview.search): Use Case.get_search_retrieve_fields() and Case.get_search_match_fields() to pass the field names to the CaseSearch. 2010-02-11 Bernhard Herzog * waskaweb/model/case.py (Case.fields): Set search_retrieve and search_match on the appropriate fields. 2010-02-11 Bernhard Herzog * waskaweb/model/case.py (Field.__init__): New parameters and instance variables: search_retrieve and search_match. These indicate whether the field is should be retrieved from a search and whether the search string should be matched agains the field's value. (Case.get_search_retrieve_fields, Case.get_search_match_fields): New. Return lists of field names to retrieve in a search or to match in search, according to the new Field attributes. 2010-02-11 Bernhard Herzog * waskaweb/templates/casemanagement/digest_body.mako: Use the case's get_digest_fields() method to retrieve the list of fields to show in the digest instead of using a hard-wired list. 2010-02-11 Bernhard Herzog * waskaweb/model/case.py (Field.__init__): New parameter and instance variable: digest. Indicates whether the field is listed in the case digest. (Case.fields): Set digest where appropriate for wasko. Add some more fields so that all fields currently shown in the digest are listed. (Case.get_digest_fields): New method to return a list of the digest fields. 2010-02-11 Bernhard Herzog * waskaweb/model/case.py (AliasDescription, Field): Replace AliasDescription with the similar but more general Field. (Case.aliases, Case.fields): Replace aliases with fields, which is a list of Fields instances describing fields and not just aliases. For now it doesn't do anything more than describing aliases, though. (Case.alias_dict): Generate from fields, not aliases. (SessionCase.__init__, SessionCase.setData, Case.__getattr__) (Case.get_preset_fields, Case.get_session_fields) (Case.getSessionCase): Adapt to new Field objects. 2010-02-11 Bernhard Herzog * waskaweb/model/case.py (SessionCase.toFormData): Make it work with the actual return value of Case.get_session_fields() 2010-02-11 Torsten Irländer Moved annotations to base. * waskaweb/controllers/annotations.py: Import lib.base from mpulsweb now. * mpulsweb/controllers/annotations.py, waskaweb/controllers/annotations.py: Moved controller mpulsbase * mpulsweb/templates/annotations, waskaweb/templates/annotations: Moved templates for annotation to mpulsbase. * waskaweb/controllers/evaluate.py: Import lib.base from mpulsweb now. Reordered imports. Moved navigation conroller to mpulsbase * waskaweb/controllers/navigation.py: Import lib.base from mpulsweb. * waskaweb/controllers/navigation.py (NavigationController): Navigation Controller is not inherited from CasebaseController. Inherit from BaseController. Deleted outcommented code. * mpulsweb/controllers/navigation.py, waskaweb/controllers/navigation.py: Moved navigation controller to mpulsbase. Moved repeatgroup conroller to mpulsbase * mpulsweb/controllers/repeatgroup.py, waskaweb/controllers/repeatgroup.py: Moved repeatgroup controller to mpulsbase. Moved renderer to mpulsbase * mpulsweb/lib/renderer.py, waskaweb/lib/renderer.py: Moved renderer to base. * waskaweb/controllers/formularpage.py: Adapted import for renderer. * mpulsweb/controllers/formularpage.py, waskaweb/controllers/formularpage.py: Moved formularpage controller. * waskaweb/model/case.py: Import formularpage from mpulsbase now. * waskaweb/controllers/repeatgroup.py: Import forumlarpage and base from mpulsbase now. * waskaweb/controllers/case.py: Import formularpage from mpulsbase. * waskaweb/controllers/navigation.py: Import formularpage from mpulsbase Moved global documents to base. * waskaweb/model/document.py: Formatting * mpulsweb/model/document.py, waskaweb/model/document.py: Moved to base. * waskaweb/model/case.py: Import document from base now. * waskaweb/controllers/casedocument.py: Import document from base now. * waskaweb/controllers/document.py: Import document from base now. * mpulsweb/controllers/document.py, waskaweb/controllers/document.py: Moved controller to base. * mpulsweb/templates/documents, waskaweb/templates/documents: Moved templates to base. * mpulsweb/controllers/document.py (DocumentController): Improved exception handling (use logging module to log exceptions). * mpulsweb/controllers/document.py (DocumentController.globalDelete), (DocumentController.globalUploadAction): Adapted c-vars for dialogs Moved appointment to base. * mpulsweb/lib/validators.py (TimeCheck), (DateCheck), (CreateAppointmentForm), (StringTooLong): Copied from waskaweb. * waskaweb/lib/validators.py (DateCheck), (TimeCheck), (CreateAppointmentForm), (StringTooLong): Deleted imported from mpulsweb now. * mpulsweb/controllers/appointment.py, waskaweb/controllers/appointment.py: Moved controller to mpulsbase. Adapted imports. * waskaweb/templates/appointments, mpulsweb/templates/appointments: Moved templates * mpulsweb/controllers/appointment.py (AppointmentController): Adapted c-vars fro dialogs. 2010-02-10 Torsten Irländer Move appointments to base * waskaweb/model/appointment.py: Import session from mpuls.lib.base * mpulsweb/model/appointment.py: New. Copied from waskaweb.model.appointments. Deleted case-related functions. * waskaweb/model/appointment.py: Deleted all classes and vars which are not defined in mpulsweb.model.appointment. Import them from there. * mpulsweb/controllers/mpuls.py (get_global_appointments): Copied from waskaweb. Load global appointments * waskaweb/controllers/waska.py (get_global_appointments): Deleted. Import from mpulsweb now. * waskaweb/controllers/waska.py (get_newslist): Deleted. * mpulsweb/templates/home/globalappointmentlist.mako: Copied from waskaweb. Use format_date function instead of dd_mm_YYYY * mpulsweb/templates/home/home.mako: Display global appointments. * waskaweb/controllers/appointment.py: Import from mpulsbase as far as possible. 2010-02-10 Bernhard Herzog * waskaweb/controllers/case.py (checkPrivacyStatement.validate): Remove try/except with a bare except that shows /tests/trace.mako. Rely on the default error handling instead. 2010-02-10 Bernhard Herzog * waskaweb/model/case.py (Case.get_preset_fields): Use the formedname in the list of preset fields, not the alias name, otherwise the presets won't work in CaseFactory.loadFromQueryResult. 2010-02-10 Torsten Irländer Moved news to base * mpulsweb/model/news.py, waskaweb/model/news.py: Moved news model to base * waskaweb/controllers/waska.py: Import news model from base * waskaweb/templates/start/newslist.mako, mpulsweb/templates/news, mpulsweb/templates/news/newslist.mako: Moved template for newslist. * waskaweb/templates/start/start.mako: Include newslist from new location. * mpulsweb/templates/home/home.mako: Added news section. * mpulsweb/templates/news/dialogs/confirm_mark_news_as_read.mako, waskaweb/templates/start/dialogs/confirm_mark_news_as_read.mako: Moved confirm dialogs to mark news as read. * mpulsweb/controllers/news.py (NewsController.hide): Render confirm dialog from other location. * mpulsweb/controllers/news.py (NewsController.index): Deleted. Not used. 2010-02-10 Torsten Irländer * mpulsweb/controllers/administration.py (AdministrationController.editUser): Copied from waskaweb * mpulsweb/templates/administration/edit_user.mako, waskaweb/templates/administration/edit_user.mako: Moved template file. * waskaweb/controllers/administration.py (AdministrationController.editUser): Deleted. Is not implemented in mpulsweb * mpulsweb/controllers/administration.py (AdministrationController.resetUserPassword): Copied from waskaweb. Removed try/except block and adapted c-vars for dialogs. * mpulsweb/templates/administration/dialogs/confirm_resetpassword.mako, waskaweb/templates/administration/dialogs/confirm_resetpassword.mako, mpulsweb/templates/administration/reset_password.mako, waskaweb/templates/administration/reset_password.mako: Moved template. * waskaweb/controllers/administration.py (AdministrationController.resetUserPassword):Deleted. Implemented in mpulsweb now. * mpulsweb/controllers/administration.py (AdministrationController.editUserAction): Copied from waskaweb. Removed try/except block and adapted c-vars for dialogs. * mpulsweb/templates/administration/dialogs/success_edit_user.mako, waskaweb/templates/administration/dialogs/success_edit_user.mako: Moved template * mpulsweb/lib/validators.py (EditUserForm): Copied from waskaweb. * waskaweb/lib/validators.py (EditUserForm): Deleted. Imported from mpulsweb now. * waskaweb/controllers/administration.py (AdministrationController.editUserAction): Deleted. Implemented in mpulsweb now. * waskaweb/controllers/administration.py: Removed unused imports and static vars. Formatting. * mpulsweb/controllers/auth.py (AuthController.accountDeactivated): Copied from waskaweb.controllers.administration. * mpulsweb/lib/base.py (BaseController.__before__): Call auth/accountDeactivated when account ist deactivated. * mpulsweb/templates/auth/account_deactivated.mako, waskaweb/templates/administration/account_deactivated.mako: Moved templates * mpulsweb/lib/base.py (BaseController.__before__): Fixed issue925(wasko) redirecting the user to an infopage if the account is deactivated. * waskaweb/controllers/administration.py (AdministrationController.accountDeactivated): Deleted. Is now implemented in mpulsweb.controllers.auth * mpulsweb/controllers/administration.py (AdministrationController.deleteUser): Copied from waskaweb. Removed try/except blocks. Adapted c-vars for dialogs. * mpulsweb/templates/administration/dialogs/confirm_deleteuser.mako, waskaweb/templates/administration/dialogs/confirm_deleteuser.mako, mpulsweb/templates/administration/dialogs/failed_delete_user.mako, waskaweb/templates/administration/dialogs/failed_delete_user.mako, mpulsweb/templates/administration/dialogs/success_delete_user.mako, waskaweb/templates/administration/dialogs/success_delete_user.mako: Moved template * mpulsweb/controllers/administration.py (user_has_cases): Implemented function to check if the user is the editor of at least one cases * mpulsweb/controllers/mpuls.py (get_newslist): Copied from mpulsbase. * mpulsweb/controllers/mpuls.py (MpulsController.index): Load news if enabled. 2010-02-09 Bernhard Herzog * mpulsweb/lib/base.py: Explicitly list all exported names in __all__. This only includes names that are actually imported by other modules now. Remove unused imports, which is possible now because it's clear which names are used in this module and which are actually imported elsewhere. 2010-02-09 Bernhard Herzog * mpulsweb/lib/base.py (CaseBaseController): Removed. Not used anywhere. 2010-02-09 Bernhard Herzog * waskaweb/controllers/administration.py: Expand star imports 2010-02-09 Bernhard Herzog * waskaweb/templates/casemanagement/new.mako: Fix help links. 2010-02-09 Bernhard Herzog * waskaweb/templates/casemanagement/new.mako: Fix formatting. 2010-02-09 Bernhard Herzog * waskaweb/controllers/formularpage.py: Remove unused imports. 2010-02-09 Bernhard Herzog * waskaweb/controllers/formularpage.py: Fix formatting. 2010-02-09 Bernhard Herzog * waskaweb/controllers/repeatgroup.py (RepeatgroupController.new): The first parameter for abort has to be an int, not a string. 2010-02-09 Bernhard Herzog * waskaweb/controllers/repeatgroup.py: Remove unused imports. 2010-02-09 Bernhard Herzog * waskaweb/controllers/repeatgroup.py: Fix formatting. 2010-02-09 Bernhard Herzog * waskaweb/controllers/annotations.py (AnnotationsController.help): Make this work for ids that don't refer to formed components such as 'wiederaufnahme' and 'neuaufnahme' 2010-02-09 Bernhard Herzog * waskaweb/controllers/annotations.py (AnnotationsController.help) (AnnotationsController.required) (AnnotationsController.evaluation): Fix abort calls. abort always raises an exception, so no return is necessary and the first parameter has to be an int, not a string. 2010-02-09 Bernhard Herzog * waskaweb/controllers/annotations.py: Remove unused imports. 2010-02-09 Bernhard Herzog * waskaweb/controllers/annotations.py: Fix formatting. 2010-02-09 Bernhard Herzog * waskaweb/model/case.py (Case.aliases): Some more fields have to be copied to the SessionCase: street, streetnr, plz, city 2010-02-09 Bernhard Herzog * waskaweb/model/case.py (LOAD_CASESTATE_SQL): Removed m.nbtr and m.cm_end_art. They're not actually used. 2010-02-09 Bernhard Herzog * waskaweb/controllers/template.py: Removed. Unused. 2010-02-09 Bernhard Herzog * waskaweb/lib/template.py: Removed. Unused. 2010-02-09 Bernhard Herzog * mpulsweb/config/routing.py (make_map): Add extra route for case_overview which is still in waskaweb. See the comments for more details. 2010-02-09 Bernhard Herzog * mpulsweb/lib/app_globals.py (Globals.__init__): Add debug log for formed file name 2010-02-09 Bernhard Herzog * waskaweb/controllers/navigation.py: Remove unused imports. 2010-02-09 Bernhard Herzog * waskaweb/controllers/navigation.py: Expand star imports. 2010-02-09 Bernhard Herzog * waskaweb/controllers/document.py: Expand star imports. 2010-02-09 Torsten Irländer Moved administration controller to base * mpulsweb/controllers/administration.py: New controller. * waskaweb/controllers/administration.py: Import base Administration controller from base as BaseAdministrationController. Inherit AdministrationController in waskaweb from BaseAdministrationController. * mpulsweb/templates/administration/overview_user.mako, waskaweb/templates/administration/overview_user.mako: Moved template for user overview to base. * waskaweb/controllers/administration.py (AdministrationController.overviewUser): Deleted. Is now defined in base controller. * mpulsweb/controllers/administration.py (AdministrationController.overviewUserGroups): Moved from waskaweb. * waskaweb/controllers/administration.py (AdministrationController.accountDeactivated): Deleted. * mpulsweb/templates/administration/overview_usergroups.mako: Moved from waskaweb * waskaweb/templates/administration/overview_usergroups.mako: Deleted * mpulsweb/controllers/administration.py (AdministrationController.showUser): Moved from waskaweb. * waskaweb/controllers/administration.py (AdministrationController.showUser): Deleted * mpulsweb/templates/administration/show_user.mako: Moved from waskaweb * waskaweb/templates/administration/show_user.mako: Deleted * mpulsweb/templates/administration/dialogs/success_edit_usergroup.mako, waskaweb/templates/administration/dialogs/success_edit_usergroup.mako: Moved template. * mpulsweb/controllers/administration.py (AdministrationController.showUserGroup): Copied from waskaweb * mpulsweb/templates/administration/show_usergroup.mako, waskaweb/templates/administration/show_usergroup.mako: Moved template * waskaweb/controllers/administration.py (AdministrationController.showUserGroup): Deleted * mpulsweb/controllers/administration.py (AdministrationController.editUserGroup): Copied from waskaweb * mpulsweb/templates/administration/edit_usergroup.mako, waskaweb/templates/administration/edit_usergroup.mako: Moved template * waskaweb/controllers/administration.py (AdministrationController.editUserGroup): Deleted * mpulsweb/controllers/administration.py (AdministrationController.editUserGroupAction): Copied from waskaweb. Adapted imports. Fixed dialog vars and removed try except block. * mpulsweb/lib/validators.py: Moved some Validatore from waskaweb to base * waskaweb/lib/validators.py: Deleted moved Validators * waskaweb/controllers/administration.py (AdministrationController.editUserGroupAction): Deleted. * mpulsweb/controllers/administration.py (AdministrationController.newUserGroup): Copied from waskaweb. * mpulsweb/templates/administration/new_usergroup.mako, waskaweb/templates/administration/new_usergroup.mako: Moved template to base. * waskaweb/controllers/administration.py (AdministrationController.NewUserGroup): Deleted. * mpulsweb/controllers/administration.py (AdministrationController.newUserGroupAction): Copied from waskaweb. Removed try/except block. Changed c-vars for dialogs. * mpulsweb/templates/administration/dialogs/success_new_usergroup.mako, waskaweb/templates/administration/dialogs/success_new_usergroup.mako: Moved template * mpulsweb/templates/dialogs/failed.mako: Copied from waskaweb. Adapted c-vars for texts in dialog. * mpulsweb/templates/administration/dialogs/failed_new_usergroup.mako, waskaweb/templates/administration/dialogs/failed_new_usergroup.mako: Moved template. * waskaweb/controllers/administration.py (AdministrationController.createUserGroupAction): Deleted. * mpulsweb/controllers/administration.py (AdministrationController.deleteUserGroup): Copied from waskaweb. Adaped c-vars for dialog. * mpulsweb/templates/administration/dialogs/success_deletegroup_user.mako, waskaweb/templates/administration/dialogs/success_deletegroup_user.mako: Moved template to base. * mpulsweb/templates/administration/dialogs/confirm_deleteusergroup.mako, waskaweb/templates/administration/dialogs/confirm_deleteusergroup.mako: Moved template to base. * mpulsweb/templates/administration/dialogs/failed_new_user.mako, waskaweb/templates/administration/dialogs/failed_new_user.mako: Moved template to base. * mpulsweb/templates/dialogs/confirm.mako: Copied from waskaweb and adapted c-vars for dialogtexts * waskaweb/controllers/administration.py (AdministrationController.deleteUserGroup): Deleted. * waskaweb/controllers/administration.py (AdministrationController.viewPrivacyStatement): Deleted. Not called from anywhere. * mpulsweb/controllers/settings.py: New. Copied agencysetting methods from waskaweb administration controller. * mpulsweb/model/agencysettings.py: Copied from waskaweb. * waskaweb/model/appointment.py, waskaweb/model/case.py, waskaweb/controllers/administration.py: Import agencysettings model from base now. * waskaweb/model/agencysettings.py: Deleted. * mpulsweb/templates/settings/dialogs/success_edit.mako, mpulsweb/templates/settings/show.mako, mpulsweb/templates/settings/edit.mako: New. Copied templates for agency settings. * mpulsweb/lib/validators.py (MaxMinInt),(EditSettingsForm): New moved from waskaweb.valiadtors * waskaweb/lib/validators.py (MaxMinInt),(EditSettingsForm): Deleted * waskaweb/controllers/administration.py (AdministrationController.showSettings), (AdministrationController.editSettings), (AdministrationController.editSettingsAction): Deleted. Are now impleted under mpulsweb.settings. * waskaweb/templates/administration/show_settings.mako, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/dialogs/success_edit_agency.mako: Deleted. * waskaweb/templates/administration/settings.mako: Deleted not rendered anywhere * mpulsweb/controllers/administration.py (AdministrationController.newUser): Copied from waskaweb. * mpulsweb/templates/administration/new_user.mako: Copied from waskaweb * waskaweb/controllers/administration.py (AdministrationController.newUser): Deleted. Is implemented in mpulsweb now * mpulsweb/lib/validators.py (NewUserForm), (LoginCheck): Copied from waskaweb * waskaweb/lib/validators.py (NewUserForm): Import from mpulsweb. Deleted implementation * mpulsweb/controllers/administration.py (AdministrationController.newUserAction): Copied from waskaweb. Removed try/except block as we do not want to display traceback * mpulsweb/templates/administration/new_user_result.mako: New. Copied from waskaweb * waskaweb/controllers/administration.py (createUserAction): Deleted. Is now implemented in mpulsweb 2010-02-09 Torsten Irländer Moved usersettings to base. * mpulsweb/controllers/usersettings.py: Copied from waskaweb * mpulsweb/templates/usersettings, mpulsweb/templates/usersettings/dialogs, mpulsweb/templates/usersettings/dialogs/success_edit_standin.mako, mpulsweb/templates/usersettings/dialogs/notificate_setpassword.mako, mpulsweb/templates/usersettings/show_settings.mako, mpulsweb/templates/usersettings/edit_standin.mako, mpulsweb/templates/usersettings/change_password.mako, mpulsweb/templates/dialogs, mpulsweb/templates/dialogs/success.mako, mpulsweb/templates/administration, mpulsweb/templates/administration/show_user_body.mako: Copied templates from waskaweb. * waskaweb/controllers/administration.py: imported "_" from pylons.i18n * mpulsweb/templates/usersettings/change_password_login.mako: Copied from waskaweb and adapted link to inherted template. * mpulsweb/controllers/usersettings.py (UsersettingsController.changePasswordOnLoginAction): Changed c-vars to set the title and text in dialogs. * waskaweb/templates/usersettings/dialogs/success_edit_standin.mako, waskaweb/templates/usersettings/dialogs/notificate_setpassword.mako, waskaweb/templates/usersettings/dialogs, waskaweb/templates/usersettings/change_password_login.mako, waskaweb/templates/usersettings/show_settings.mako, waskaweb/templates/usersettings/edit_standin.mako, waskaweb/templates/usersettings/change_password.mako, waskaweb/templates/usersettings: Deleted old templated files. They were moved into the base. * waskaweb/controllers/usersettings.py: Deleted ols controller. Was moved to base. 2010-02-08 Torsten Irländer Copied resposible.mako and help.mako to new locations. * waskaweb/templates/help, waskaweb/templates/help/help.mako: Copied from start/help.mako * waskaweb/templates/info, waskaweb/templates/info/info.mako: Copied from start/responsible.mako * waskaweb/templates/main.mako: Deleted. Use main from base instead. * waskaweb/controllers/waska.py (WaskaController.help), (WaskaController.info): Deleted. Not called from anywhere now. * mpulsweb/lib/config.py: Added new configuration var to enable/disable casemanagement. * mpulsweb/templates/main.mako: Load "/" instead of waska for links to blackboard. Set app title from config in navipath and menus. Make Casemanagement configurabel (endable/disable) * mpulsweb/lib/validators.py: New. Copied BaseFormValidator, SecurePassword, NewPasswordForm from waskaweb.lib.validators. * waskaweb/lib/validators.py (BaseFormValidator): Deleted. Now imported from mpulsweb. * waskaweb/lib/validators.py (NewPasswordForm): Deleted. Now imported from mpulsweb * waskaweb/lib/validators.py (SecurePassword): Deleted not used here anymore. * mpulsweb/templates/usersettings/edit_standin.mako: Call usersettings/showSettings to return to the usersettings page 2010-02-08 Torsten Irländer Added default templates for help * mpulsweb/templates/help, mpulsweb/templates/help/help.mako: New. Empty templates for help. Added default templates for info * mpulsweb/templates/info, mpulsweb/templates/info/info.mako: New. Empty templates for info. Added new controllers for help and info * mpulsweb/controllers/help.py, mpulsweb/controllers/info.py: New. Return empty default pages Call new controllers for help and info * mpulsweb/templates/main.mako: Modfied links for help and info to call the new controllers. 2010-02-08 Bernhard Herzog * waskaweb/controllers/caselifetime.py: Expand star imports. This it's more complicated because star imports were used for both waskaweb.lib.base and mpulsweb.lib.helpers and some names are exported by both. Also, the star imports overwrote datetime which before was the datetime class of the datetime module with the datetime module itself. 2010-02-08 Bernhard Herzog * waskaweb/controllers/evaluate.py: Expand star imports. 2010-02-08 Bernhard Herzog * waskaweb/controllers/logbook.py: Expand star imports. Added an explicit import sys because the sys module was implicitly imported from bwaskaweb.lib.base. 2010-02-08 Bernhard Herzog * waskaweb/controllers/phase.py: Expand star imports. 2010-02-08 Bernhard Herzog * waskaweb/controllers/template.py: Expand star imports. 2010-02-08 Bernhard Herzog * waskaweb/controllers/navigation.py: Fix formatting. 2010-02-08 Bernhard Herzog * waskaweb/controllers/document.py: Fix formatting. 2010-02-08 Bernhard Herzog * waskaweb/controllers/administration.py: Fix formatting. 2010-02-08 Torsten Irländer * mpulsweb/templates, mpulsweb/templates/auth, mpulsweb/templates/auth/logout.mako, mpulsweb/templates/auth/main.mako, mpulsweb/templates/auth/login.mako: Copied login and logout templates from waskaweb. * mpulsweb/controllers/auth.py (AuthController.logout), (AuthController.login): Call templates from new location. * development.ini: Added new config var 'mpuls.app.title' which will be used for the title in the html site * mpulsweb.egg-info/paste_deploy_config.ini_tmpl: Added new config var 'mpuls.app.title' which will be used for the title in the html site * mpulsweb/lib/helpers.py (get_app_title): New function to get the app title from config. * waskaweb/templates/main.mako: Call get_app_title function to insert app title for the html page (header/title) * mpulsweb/templates/home/home.mako: New. Default template for the "home" page aka "blackboard". * mpulsweb/templates/main.mako: Inherit from base.mako * mpulsweb/controllers/mpuls.py (MpulsController.index): Return main.mako * waskaweb/controllers/usersettings.py: Import validators and base from mpulsweb. * mpulsweb/templates/base.mako: New. Common to all template files. Mainly the header definition. * mpulsweb/templates/main.mako: Copied from waskaweb. * mpulsweb/templates/auth/logout.mako, mpulsweb/templates/auth/main.mako, mpulsweb/templates/auth/login.mako: Copied from waskaweb. Inherit from base.mako now. 2010-02-05 Bernhard Herzog * waskaweb/model/case.py (CREATE_CASE_SQL): Removed. No longer used. 2010-02-05 Bernhard Herzog * mpulsweb/model/annotations.py: Fix formatting. 2010-02-05 Bernhard Herzog * mpulsweb/config/routing.py: Fix formatting. 2010-02-05 Bernhard Herzog * INSTALL: Add some notes about configuration of fields shown in the case digest and the case overview. 2010-02-05 Bernhard Herzog * waskaweb/model/case.py (Case.getSessionCase): Get the values for the session case with getattr(self, ...) instead of self.get_value to make sure some of the values are strings for backwards compatibility reasons. Some templates have problems, otherwise. 2010-02-05 Bernhard Herzog * waskaweb/templates/casemanagement/digest_body.mako: Add a comment for the fields list. 2010-02-05 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Add a comment describing the structure of the fields list. 2010-02-05 Bernhard Herzog * waskaweb/model/case.py (SessionCase.__init__): Make it possible to pass all values that have to be stored in the session case in the constructor. The case fields are defined by the Case.get_session_fields emthod. (SessionCase.setData, SessionCase.toFormData) (Case.getSessionCase): Use get_session_fields to decide which attributes/fields to copy (Case.get_session_fields): new. Returns a list of alias description for all fields that should be stored in the session case. 2010-02-05 Bernhard Herzog * waskaweb/model/case.py (AliasDescription.__init__): Add parameter and isntance variable in_session, which indicates whether the attribute should be available in the SessionCase object too. (Case.aliases): Mark all aliases that should be available in the SessionCase object. 2010-02-05 Bernhard Herzog * waskaweb/model/case.py (AliasDescription): New class to help describe the case attriute aliases. (Case.aliases): Convert into a list of AliasDescription instances. (Case.alias_dict): New. Dict mapping attribute names to AliasDescription instances. Automatically built from aliases. (Case.__getattr__, Case.get_preset_fields): Adapt to new alias descriptions. 2010-02-05 Bernhard Herzog * mpulsweb/lib/security.py (checkLogin): Move the import of SessionUser, SessionSuperAdmin toward the beginning of the function outside of any try/except blocks so that import errors are not suppressed. Fix the module name because the module is now in mpulsweb. 2010-02-05 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.newAction): Always create a new SessionCase object and make sure it's actually stored in the session. 2010-02-05 Torsten Irländer * mpulsweb/config/environment.py (load_environment): use mpuls.app.path.controllers var to configure location of controllers. * mpulsweb/config/environment.py: * mpulsweb/config/routing.py (make_map): The index page can now be configured with the mpuls.app.indexcontroller config var. * development.ini: Adoped development.ini file for mpulsweb. Added comments and some config vars. * mpulsweb/lib/config.py (MpulsConfig.build_defaults): Remove phase definition * wasko.json: New. Config file for wasko instance (Phase definitions) * mpulsweb/config/routing.py (make_map): Fixed makeing of routes mapping. Search for controllers in basedir too. * INSTALL: Added notes how to INSTALL the appliction as WASKO instance * README.txt: Deleted note on installation. Refer to INSTALL * waskaweb/templates/main.mako: Do call showSettings controller directly in usersettings instead of settings method in waska controller * waskaweb/controllers/waska.py (WaskaController.settings): Deleted. Not called anymore. * mpulsweb/config/environment.py (load_environment): Added debugging info on startup about custom controller locations * mpulsweb/config/middleware.py (MyPylonsApp.find_controller): Log error and exception if no controller can be found. * mpulsweb/controllers/news.py: New. New controller for handling news. * waskaweb/templates/start/newslist.mako: Call hide function in new news controller to mark a news as read for the user. This means it will not be displayed on the blackboard. * waskaweb/controllers/waska.py (WaskaController.markNewsAsRead): Deleted. Functionality is moved to news controller in base (hide method) Adopt egg configuration * mpulsweb.egg-info/SOURCES.txt, mpulsweb.egg-info/paste_deploy_config.ini_tmpl, mpulsweb.egg-info/top_level.txt, mpulsweb.egg-info/PKG-INFO, mpulsweb.egg-info/requires.txt: Modified confguraiton of egg. Adopted template for ini files. Copied model.user to base * mpulsweb/model/user.py: Copied * waskaweb/model/case.py, waskaweb/controllers/usersettings.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/waska.py, waskaweb/controllers/case.py, waskaweb/controllers/administration.py: Import model.user from base now. * waskaweb/model/user.py: Deleted. Was moved to base now. 2010-02-04 Torsten Irländer Added test dir for the base * mpulsweb/tests mpulsweb/tests/functional mpulsweb/tests/functional/__init__.py mpulsweb/tests/__init__.py Added new controller for authentification (login, logout) * mpulsweb/controllers/auth.py mpulsweb/tests/functional/test_auth.py Added new controller for the landing page (blackboard) * mpulsweb/controllers/mpuls.py mpulsweb/tests/functional/test_mpuls.py Adopted code to use the new auth controller * waskaweb/templates/login.mako: Send data to auth controller * waskaweb/templates/main.mako: call auth logout from auth controller * mpulsweb/lib/base.py: Redirect to new auth controller if user is not authorized. * waskaweb/controllers/waska.py: Is now inherited from MpulsController 2010-02-04 Bernhard Herzog * waskaweb/model/case.py (SessionCase.getEditor): Removed. Not used. 2010-02-04 Bernhard Herzog * waskaweb/model/case.py (SessionCase.getFormErrors) (SessionCase.setFormErrors): Removed. Not used anywhere. (SessionCase.__init__): Remove instance variable form_errors. Not used anymore. 2010-02-04 Torsten Irländer Moved controller/error.py * waskaweb/controllers/error.py, mpulsweb/controllers/error.py: Moved and adopted import 2010-02-04 Torsten Irländer Moved config to base * mpulsweb/config, waskaweb/config/middleware.py, waskaweb/config/__init__.py, waskaweb/config/environment.py, waskaweb/config/routing.py, mpulsweb/config, mpulsweb/config/middleware.py, mpulsweb/config/__init__.py, mpulsweb/config/environment.py, mpulsweb/config/routing.py, mpulsweb/config: Moved files and adopted imports Renamed egg-info to be able to initialse base application which will be located unter mpulsweb * mpulsweb.egg-info/SOURCES.txt, mpulsweb.egg-info/paste_deploy_config.ini_tmpl, mpulsweb.egg-info/top_level.txt, mpulsweb.egg-info/PKG-INFO, mpulsweb.egg-info/entry_points.txt, waskaweb.egg-info, waskaweb.egg-info/SOURCES.txt, waskaweb.egg-info/paste_deploy_config.ini_tmpl, waskaweb.egg-info/top_level.txt, waskaweb.egg-info/PKG-INFO, waskaweb.egg-info/entry_points.txt, waskaweb.egg-info/dependency_links.txt, waskaweb.egg-info/paster_plugins.txt, waskaweb.egg-info/requires.txt: Renamed dirs and adopted imports. 2010-02-04 Torsten Irländer Moved lib/helpers to base * waskaweb/lib/helpers.py, mpulsweb/lib/helpers.py: Moved files * waskaweb/model/logbook.py, waskaweb/model/appointment.py, waskaweb/model/case.py, waskaweb/model/document.py, waskaweb/model/user.py, waskaweb/model/agencysettings.py, waskaweb/config/environment.py, waskaweb/controllers/caselifetime.py, waskaweb/controllers/caseappointment.py, waskaweb/controllers/repeatgroup.py, waskaweb/controllers/appointment.py, waskaweb/controllers/evaluate.py, waskaweb/controllers/casedocument.py, waskaweb/lib/xmlexport.py, waskaweb/lib/renderer.py, waskaweb/lib/evaluation.py, waskaweb/lib/template.py, waskaweb/templates/casemanagement/caselist.mako, mpulsweb/lib/security.py mpulsweb/lib/base.py: Adopted imports 2010-02-04 Bernhard Herzog * waskaweb/model/case.py (CaseFactory._updateMasterOnCreate) (CaseFactory._initNewCase): Remove debug prints. 2010-02-04 Bernhard Herzog * waskaweb/model/case.py (CaseFactory.createNew): Use libformed's createNewInstanceTree to create the new case instead of accessing the database directly. (CaseFactory._updateMasterOnCreate): Takes the instance tree and not the case id as parameter now. It doesn't access session['uncommited_fields'] anymore as that doesn't make sense for a completely new case. 2010-02-04 Torsten Irländer Moved lib/filters to base * mpulsweb/lib/helper mpulsweb/lib/helper/__init__.py: Added new folder for helper libs * waskaweb/lib/filters.py, mpulsweb/lib/helper/filters.py: Moved file * waskaweb/lib/helpers.py: Adopted import * waskaweb/model/statement.py, waskaweb/controllers/case_overview.py, waskaweb/lib/renderer.py, waskaweb/templates/appointments/show_body.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/remindlist_body.mako, waskaweb/templates/dialogs/confirm.mako, waskaweb/templates/dialogs/failed.mako, waskaweb/templates/dialogs/notification.mako, waskaweb/templates/dialogs/alert.mako, waskaweb/templates/dialogs/success.mako, waskaweb/templates/administration/show_usergroup.mako, waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/administration/delete_user_helper.mako, waskaweb/templates/administration/edit_usergroup.mako, waskaweb/templates/administration/show_settings.mako, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/overview_usergroups.mako, waskaweb/templates/administration/reset_password.mako, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/new_user_result.mako, waskaweb/templates/caselifetime/overview.mako, waskaweb/templates/logbook/show.mako, waskaweb/templates/logbook/overview_print.mako, waskaweb/templates/logbook/overview.mako, waskaweb/templates/start/globalappointmentlist.mako, waskaweb/templates/start/newslist.mako, waskaweb/templates/login.mako, waskaweb/templates/usersettings/edit_standin.mako, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_overview.mako, waskaweb/templates/statement/list_statements.mako, waskaweb/templates/evaluation/evaluate_adele.mako, waskaweb/templates/evaluation/evaluate.mako, waskaweb/templates/casemanagement/bundle_standin.mako, waskaweb/templates/casemanagement/dialogs/success_set_phase.mako, waskaweb/templates/casemanagement/dialogs/failed_xml_import2.mako, waskaweb/templates/casemanagement/digest_body.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/downloadXLS.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/caselist.mako, waskaweb/templates/casemanagement/bundle_editor.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/downloadCSV.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/upload.mako, waskaweb/templates/casemanagement/downloadXML.mako: Adopted imports 2010-02-04 Torsten Irländer * waskaweb/lib/navigation.py: (FileCache): Moved from lib/filecache as it is only used here. * waskaweb/lib/filecace.py: Deleted. Not imported anywhere anymore. Moved lib/navigation to base * waskaweb/lib/navigation.py, mpulsweb/lib/navigation.py: Moved file * waskaweb/controllers/repeatgroup.py, waskaweb/controllers/navigation.py, waskaweb/controllers/case.py, waskaweb/controllers/formularpage.py, waskaweb/lib/helpers.py: Changed imports 2010-02-04 Torsten Irländer Moved lib/app_globals into base * waskaweb/lib/app_globals.py, mpulsweb/lib/app_globals.py: Moved file. * waskaweb/config/environment.py: Changed import. 2010-02-04 Torsten Irländer Moved lib/security into base * mpulsweb/lib/security.py, waskaweb/lib/security.py: Moved file. * waskaweb/model/user.py, waskaweb/controllers/caseappointment.py, waskaweb/controllers/logbook.py, waskaweb/controllers/annotations.py, waskaweb/controllers/appointment.py, waskaweb/controllers/navigation.py, waskaweb/controllers/usersettings.py, waskaweb/controllers/phase.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/statement.py, waskaweb/controllers/waska.py, waskaweb/controllers/casedocument.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/formularpage.py, waskaweb/controllers/administration.py, waskaweb/lib/helpers.py, waskaweb/lib/search.py, waskaweb/lib/app_globals.py, mpulsweb/lib/base.py: Changed import of security 2010-02-04 Torsten Irländer * mpulsweb/lib/base.py: Get dbname, port, host and schemes for username and database name from config object and not from modul vars from lib.security * waskaweb/lib/security.py (checkLogin): Take dbname, port, host etc. from config object and not from modulvars. Deleted modulvars. * waskaweb/lib/app_globals.py (Globals.__init__): Do not set modul var for db connection anymore. 2010-02-04 Torsten Irländer Moved lib/config into base * waskaweb/lib/config.py, mpulsweb/lib/config.py: Moved file * waskaweb/model/agencysettings.py, waskaweb/lib/app_globals.py: Import from new location 2010-02-04 Torsten Irländer Moved lib/timelog into base * waskaweb/lib/timelog.py, mpulsweb/lib/timelog.py: Moved. * waskaweb/lib/app_globals.py, mpulsweb/lib/base.py: Import from base now. 2010-02-04 Torsten Irländer Moved model/annotations into base * waskaweb/model/annotations.py, mpulsweb/model, mpulsweb/model/annotations.py: Moved to base * waskaweb/lib/app_globals.py: Import Annotationsprovider from base 2010-02-04 Torsten Irländer * formed: Deleted. Formedtree and other files are now located unter waskaweb/public/formed 2010-02-03 Torsten Irländer * mpulsweb/lib/db.py, waskaweb/lib/db.py: Moved file * mpulsweb/lib/base.py, waskaweb/model/casexml.py, waskaweb/model/logbook.py, waskaweb/model/appointment.py, waskaweb/model/statement.py, waskaweb/model/case.py, waskaweb/model/news.py, waskaweb/model/document.py, waskaweb/model/user.py, waskaweb/model/agencysettings.py, waskaweb/controllers/caselifetime.py, waskaweb/controllers/repeatgroup.py, waskaweb/controllers/evaluate.py, waskaweb/controllers/case.py, waskaweb/controllers/formularpage.py, waskaweb/lib/navigation.py, waskaweb/lib/search.py, waskaweb/lib/renderer.py, waskaweb/lib/evaluation.py, waskaweb/lib/security.py, waskaweb/lib/validators.py: Import from mpulsweb.lib.db now. 2010-02-03 Bernhard Herzog * waskaweb/model/case.py: Remove unused imports 2010-02-03 Bernhard Herzog Rework the Statement interface. The Statement are now instantiated with case and agency objects and use those to fill out the statement templates when the actual statement text is actually needed. This avoids unncessary loading of case data just check whether a statement has been signed. * waskaweb/model/statement.py (Statement.__init__): Use case and agency as parameters instead of the case id. (Statement._substitute, Statement._fetchData) (Statement.getContent): Removed. (Statement.fillout): Doesn't take any parameters anymore. The case and agency needed are now instance variables. This base class method raises NotImplementedError and has to be overwritten in derived classes. (DiscretionStatement.fillout, PrivacyStatement.fillout): Rework to do all the actual work and adapt to case and agency being instance variables. (DiscretionStatement.__init__, PrivacyStatement.__init__): Removed. The base class __init__ already does what we need (DiscretionStatement._substitute, PrivacyStatement._substitute): Removed. (PrivacyStatement.sign, PrivacyStatement.keepUndefined) (PrivacyStatement.decline): The case id from the case object, not the case_id instance variable. * waskaweb/controllers/case.py (CaseController.newAction): dapt to new Statement interface * waskaweb/controllers/statement.py (StatementController.printPrivacyStatement) (StatementController.printDiscretionStatement): Adapt to new Statement interface * waskaweb/model/case.py (Case.getPrivacyStatement) (Case.getDiscretionStatement): Adapt to new Statement interface 2010-02-03 Torsten Irländer * mpulsweb, mpulsweb/controllers, mpulsweb/controllers/__init__.py, mpulsweb/__init__.py: Added new mpulsweb dir. This directory will hold all base classes and controllers for mpuls. * development.ini: Added new config vars to configuration dir * waskaweb/config/middleware.py (MyPylonsApp.find_controller): Search for controller first in instance dir. Then in basedir * waskaweb/config/routing.py (controller_scan): New. Function to scan for available controller in different locations. These locations can be configured. * waskaweb/config/environment.py (load_environment): Set default path for controllers to mpulsweb. * mpulsweb/lib, mpulsweb/lib/base.py, mpulsweb/lib/__init__.py: Added new directory for base libs. * waskaweb/lib/base.py: Import all from mpulsweb.lib.base 2010-02-03 Torsten Irländer * waskaweb/controllers/case.py (CaseController.digest): Removed outcommented code * waskaweb/controllers/case.py (CaseController.printdigest): Removed parameter check here. Is done in digest anyway. * waskaweb/controllers/case.py (CaseController.markForAnonymize): Call self._loadCase instead of load_case, which currently does a full initialisation of the case including building a new navigation. * waskaweb/templates/casemanagement/dialogs/success_anonymize.mako, waskaweb/templates/casemanagement/dialogs/confirm_anonymize.mako: Use session['case'].id instead of c.ds_id to refer to the current case id. * waskaweb/controllers/case.py (CaseController.markForAnonymizeFromOverview): Removed unused var ds_id * waskaweb/controllers/case.py (CaseController.anonymize): Removed unused var ds_id * waskaweb/controllers/case.py (CaseController.digest): Removed unused var ds_id * waskaweb/controllers/case.py (CaseController.setEditorAction): Removed unused var ds_id * waskaweb/controllers/case.py (CaseController.keepActive): Removed unused var ds_id * waskaweb/controllers/case.py (CaseController.__init_case): Removed assignment of self.navigation as it is not used anywhere. * waskaweb/controllers/case.py (CaseController.newAction): Do not call __init_case. It does nothing usefull in this context. * waskaweb/controllers/case.py (CaseController.neuaufnahmeAction): Do not call __init_case. It does nothing usefull in this context. * waskaweb/controllers/case.py (CaseController.wiederaufnahmeAction): Do not call __init_case. It does nothing usefull in this context. * waskaweb/controllers/case.py (CaseController.__init_case): Deleted not called from anywhere now. * waskaweb/controllers/case.py (CaseController.markForAnonymizeFromOverview): Call _loadCase instead if load_case * waskaweb/controllers/case.py (CaseController.init_case): New. Moved into CaseController. Was load_case before. * waskaweb/controllers/case.py (checkPrivacyStatement.validate): Do not call load_case. Load case directly using CaseFactory and loadById. * waskaweb/config/middleware.py: Inserted fresh middleware.py from a fresh initiated pylons project of version 0.9.7 * waskaweb/controllers/error.py: Iserted fresh error.py controller from a fresh initiated pylons project of version 0.9.7 * waskaweb/config/routing.py (make_map): Removed unused routes * waskaweb/controllers/case_overview.py (get_sort): New. Get sortfields from GET params. (CaseOverviewController.overview_extended): Call overview with no params (CaseOverviewController.overview_extended): Remove reset and sort params from function. They are now submitted as GET request * waskaweb/templates/casemanagement/caselist.mako: sort params are not encoded as GET params. * waskaweb/config/routing.py (make_map): Removed old unused routes * waskaweb/controllers/case.py (CaseController.organisation): Added return statement to return the rendered page for organisation 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (CaseFactory._build_preset): Only add those fields to the preset dict that are actually present in the query result. 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (CaseDigest, CaseField, CaseStringField) (CaseAgeField): Removed. No longer used. 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (Case.getDigest): Removed. No longer used. 2010-02-02 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.digest) (CaseController.printAll): Assign the case object to c.case. Do not assign the digest to c anymore. * waskaweb/templates/casemanagement/digest_body.mako: Get the values and descriptions from the case object in c.case, not from the digest in c.digest. 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (Case.getDiscretionStatement) (Case.getPrivacyStatement): Use case object in place of the case digest object when calling the statement's fillout method. 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (CaseFactory.loadFromQueryResult) (CaseFactory.loadByName): Rename loadByName to loadFromQueryResult and change its parameters. loadFromQueryResult takes a single query result row as a parameter and extracts the fields it needs. (CaseOverview.search): Call loadFromQueryResult instead of loadByName. 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (Case.get_preset_fields): New. Class method to return a list of the field names that can be preset. (CaseFactory._build_preset): New method to build a preset mapping for the case object from a database query result (CaseFactory.loadById): Pass id, state and the query result as the preset mapping to the Case constructor instead of assigning instance variables explicitly 2010-02-02 Bernhard Herzog * waskaweb/model/case.py (Case.__init__): Add some parameters so that the case can be instantiated without having to assign to instance variables. This includes a parameter "preset" that can contain a subset of the case's fields. (Case.aliases): New class attribute describing which fields can be usefully preset and how they accessed by public instance variables. This mainly intended for compatibility with code that accesses these fields in the Case or CaseDigest instances. (Case.__getattr__): New. Provide attribute like access to the values described in aliases. (Case.get_value, Case.get_description): New. Get a value/description of the formed field. The value is taken from the preset dictionary the case was instantiated with if the formed instance has not yet been loaded. 2010-02-02 Torsten Irländer * waskaweb/templates/appointments/appointment_form.mako: Deleted. not used anywhere. 2010-02-02 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.newAction) (CaseController.neuaufnahmeAction) (CaseController.wiederaufnahmeAction): __init_case calls load_case so don't call load_case immediately after calling self.__init_case just for the side-effects. 2010-02-02 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.newAction): Remove some debug prints and turn some of them into log.debug calls. 2010-02-02 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.digest): c.print_form is not used anywhere, so don't set it. 2010-02-02 Torsten Irländer * waskaweb/templates/documents/case_overview.mako: Formatting. * waskaweb/controllers/casedocument.py (CasedocumentController.show): New. Moved from controllers.document. * waskaweb/templates/documents/case_overview.mako: Call show method in casedocument controller. * waskaweb/controllers/document.py (DocumentController.caseShow): Deleted. Not calles from anywhere now. * waskaweb/controllers/casedocument.py (CasedocumentController.delete): New. Moved from controllers.document. * waskaweb/config/routing.py (make_map): Change route for deleting case documents. * waskaweb/templates/documents/case_overview.mako: Call delete method in casedocument controller. * waskaweb/controllers/document.py (DocumentController.caseDelete): Deleted. Not called from anywhere. * waskaweb/controllers/casedocument.py (CasedocumentController.delete): Removed case attribute from method parameters as they are not used anyway. * waskaweb/templates/documents/case_overview.mako: Adopted method call of delete in casedocument controller. * waskaweb/controllers/caseappointment.py: New. * waskaweb/tests/functional/test_caseappointment.py: New * waskaweb/controllers/caseappointment.py (CaseappointmentController.overview): New. Moved from controllers.case * waskaweb/templates/casemanagement/main.mako: Call overview method in caseappointment controller * waskaweb/templates/casemanagement/appointments.mako: Call overview and new method in caseappointment controller. * waskaweb/templates/casemanagement/appointmentlist.mako: Formatting. Call show and delete methods in caseappointments controller. * waskaweb/controllers/caseappointment.py (CaseappointmentController.show, CaseappointmentController.delete): Added new controllers. * waskaweb/controllers/case.py (CaseController.newDocument): Deleted. Not called from anywhere now. * waskaweb/templates/casemanagement/reminderlist.mako: Adopted link to call methods in caseappointment controller. * waskaweb/controllers/case.py (CaseController.deleteAppointment): Deleted. Not called from anywhere. * waskaweb/controllers/caseappointment.py (CaseappointmentController.new): New. Moved from case controller * waskaweb/controllers/caseappointment.py (CaseappointmentController.newAction): New. Moved from case controller. * waskaweb/controllers/case.py (CaseController.newAppointmentAction): Deleted. Not called from anywhere. * waskaweb/controllers/caseappointment.py (loadCase): New. Helper function to load a case. * waskaweb/controllers/caseappointment.py (CaseappointmentController.newReminder): New. Moved from case controller * waskaweb/controllers/case.py (CaseController.newReminder): Deleted. Not called from anywhere now. * waskaweb/controllers/case.py (CaseController.newAppointment): Deleted. Not called from anywhere now. * waskaweb/templates/casemanagement/showAppointment.mako: Adopt links to call new methods in caseappointment controller. * waskaweb/templates/casemanagement/editAppointment.mako: Adopt links to call new methods in caseappointment controller. * waskaweb/controllers/case.py (CaseController.editAppointment): Deleted. Not called from anywhere now. * waskaweb/controllers/caseappointment.py (CaseappointmentController.editAction): New. Moved from case controller * waskaweb/controllers/case.py (CaseController.editAppointmentAction): Deleted. Not called from anywhere. * waskaweb/templates/casemanagement/dialogs/success_edit_appointment.mako: Adopted links to call methods in caseappointment controller. * waskaweb/templates/casemanagement/dialogs/success_create_appointment.mako: Adopted links to call methods in caseappointment controller. * waskaweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako: Adopted links to call methods in caseappointment controller. * waskaweb/templates/casemanagement/dialogs/success_delete_appointment.mako: Adopted links to call methods in caseappointment controller. * waskaweb/controllers/case.py (CaseController.appointments): Deleted. Not called from anywhere now. * waskaweb/config/routing.py (make_map): Deleted route for showAppointment * waskaweb/controllers/case.py (CaseController.showAppointment): Deleted. Not called from anywhere now. * waskaweb/controllers/case.py: Removed unused imports * waskaweb/templates/casemanagement/main.mako: Adopt links to call newReminder method in caseappointment controller * waskaweb/controllers/case.py (CaseController.select): Directly return self.digest. Do not load a case object. * waskaweb/controllers/case.py (CaseController.markForDelete): Deleted ds_id context var. Is not needed here. * waskaweb/controllers/case.py (CaseController.markForDelete): Call self._loadCase instead of load_case. * waskaweb/controllers/case.py (CaseController.delete): Delete ds_id context var. Is not used here. * waskaweb/controllers/case.py (CaseController.restore): Delete ds_id context var. Is not used here. * waskaweb/controllers/case.py (CaseController.open): Deleted. Is not called from anywhere. * waskaweb/controllers/case.py (CaseController.close): Deleted not called from anywhere. * waskaweb/config/routing.py (make_map): Deleted route to open and close a case. Not used anymore * waskaweb/controllers/case.py: Deleted static string for confirm dialog to open and close a case. 2010-02-01 Torsten Irländer Moved case document related methods in its own casedocument controller * waskaweb/controllers/casedocument.py (CasedocumentController): New. * waskaweb/tests/functional/test_casedocument.py: New. * waskaweb/templates/casemanagement/main.mako: Call index method of controllers.casedocument now. * waskaweb/controllers/casedocument.py (loadCase): New. Helper function to load a case. * waskaweb/controllers/casedocument.py (CasedocumentController.overview):: New. Method to build the casedocument list. * waskaweb/templates/documents/dialogs/failed_attachment.mako: Adopted navipath to call new method in casedocument * waskaweb/templates/documents/dialogs/success_attachment.mako: Adopted navipath to call new method in casedocument * waskaweb/templates/documents/dialogs/delete_attachment_success.mako: Adopted navipath to call new method in casedocument * waskaweb/templates/documents/case_new.mako: Adopted navipath to call new method in casedocument, Adapted modulsfield * waskaweb/templates/casemanagement/dialogs/delete_attachment_success.mako: Adopted navipath to call new method in casedocument * waskaweb/templates/casemanagement/dialogs/confirm_delete_attachment.mako: Adopted navipath to call new method in casedocument * waskaweb/controllers/case.py (CaseController.documents): Deleted not called from anywhere now. * waskaweb/controllers/casedocument.py (CasedocumentController.new): New. Return rendered template to add a document to the case * waskaweb/templates/documents/case_overview.mako: Call new method in casedocument controller * waskaweb/controllers/casedocument.py (CasedocumentController.newAction): New. * waskaweb/controllers/document.py (DocumentController.caseUploadAction): Deleted not called from anywhere now 2010-02-01 Torsten Irländer Moved phase related functions into controllers.phase * waskaweb/controllers/case.py (CaseController.phase, CaseController.setPhaseAction): Deleted unused functions. Are not called from anywhere now. * waskaweb/controllers/case.py: Removed unused imports * waskaweb/controllers/phase.py: Moved old phase related functions from controllers.case. Commented out those functions. The must be reimplemented by using the new libformed. * waskaweb/controllers/case.py: Removed unused static vars for phase dialogs * waskaweb/controllers/phase.py: Moved static vars for phase dialogs from controllers.case 2010-02-01 Torsten Irländer * waskaweb/config/routing.py (make_map): Deleted route for unused function undo_error * waskaweb/config/routing.py (make_map): Deleted route for unused function showHelpEvaluation * waskaweb/config/routing.py (make_map): Deleted route for unused function showHelp * waskaweb/config/routing.py (make_map): Deleted route for unused function showRequired * waskaweb/controllers/case.py (CaseController.undo_error): Deleted unused function. * waskaweb/controllers/case.py (CaseController.showHelpEvaluation): Deleted unused function. * waskaweb/controllers/case.py (CaseController.showHelp): Deleted unused function. * waskaweb/controllers/case.py (CaseController.showRequired): Deleted unused function. * waskaweb/controllers/case.py (CaseController.evaluate): Deleted unused function. * waskaweb/templates/casemanagement/help.mako, waskaweb/templates/casemanagement/required.mako: Deleted. Not used anymore. * waskaweb/controllers/case.py (CaseController.showAppointment): Restored method. Was deleted by accident. 2010-02-01 Torsten Irländer Moved logbook specific code from controllers/case to controllers/logbook. * waskaweb/controllers/logbook.py (LogbookController.overview): New. * waskaweb/templates/casemanagement/main.mako: Call overview controller in logbook. * waskaweb/controllers/logbook.py (LogbookController.printout): New. * waskaweb/templates/logbook/overview.mako: Call printout method in logbook controller * waskaweb/controllers/case.py (CaseController.printLogbook): Deleted not called from anywhere now. * waskaweb/controllers/logbook.py (LogbookController.new): New. * waskaweb/controllers/case.py (CaseController.newLogbookEntry): Deleted. Not called from anywhere now. * waskaweb/templates/logbook/new.mako: Adopted links to call new methods in logbook * waskaweb/controllers/logbook.py (LogbookController.show): Moved to logbook controller * waskaweb/templates/logbook/overview.mako: Call show method in logbook controller. * waskaweb/templates/logbook/show.mako: Call methods from logbook controller * waskaweb/templates/logbook/edit.mako: Call methods from logbook controller * waskaweb/controllers/case.py (CaseController.showLogbookEntry): Deleted not called from anywhere. * waskaweb/controllers/logbook.py (LogbookController.edit): Moved to logbook controller * waskaweb/controllers/case.py (CaseController.editLogbookEntry): Deleted. Not called from anywhere now. * waskaweb/controllers/case.py (CaseController.createNewLogbookEntry): Deleted. Not called from anywhere now. * waskaweb/controllers/logbook.py (LogbookController.editAcion): Moved to logbook controller * waskaweb/controllers/case.py (CaseController.saveLogbookEntry): Deleted. Not called from anywhere now. * waskaweb/controllers/logbook.py (LogbookController.delete): Moved to logbook controller * waskaweb/controllers/case.py (CaseController.deleteLogbookEntry): Deleted. Not called from anywhere now. * waskaweb/controllers/case.py (CaseController.logbook): Deleted. Not called from anywhere now. * waskaweb/controllers/logbook.py (LogbookController.newAction): Call overview in logbook controller after case was created * waskaweb/templates/logbook/overview.mako: Send sort params as GET params * waskaweb/controllers/logbook.py (get_sort): Extract sort params from GET params 2010-02-01 Bernhard Herzog * waskaweb/model/case.py (CaseDigest._fields): Remove unused entries. 2010-02-01 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.importXMLAction): Remove unused local variable. 2010-02-01 Bernhard Herzog * waskaweb/lib/db.py: Make psycopg2 return unicode objects in query results so that they don't have to be converted explicitly later. Also, the since the formed instance tree uses this, it now contains unicode objects too. 2010-02-01 Bernhard Herzog * waskaweb/model/agencysettings.py (Agency._fetchData): Use ensure_unicode to convert the values to unicode immediately when read from the database. (Agency.getFKZ, Agency.getName, Agency.getMaxSavetime) (Agency.getPrivacyStatement, Agency.getDiscretionStatement): The config value are already unicode now, so don't try to convert them again, here. 2010-02-01 Torsten Irländer * waskaweb/model/casedocument.py (CaseDocument): Deleted. Class is not referenced anymore. It was initialised as g.formedTree in older versions which is not replaced by the new formedlib. * waskaweb/model/casedocument.py: Removed unused imports. * waskaweb/model/casedocument.py (PageCache): Deleted. Class is not referenced anymore. * waskaweb/model/casedocument.py: Removed unused imports. * waskaweb/controllers/caselifetime.py (DataSaveException): New. Moved from casedocument.py. This is exception is only used in connection with "Neuaufnahme" and "Wiederaufnahme". This exception is not thrown anywhere, so this is broken. Changed import. * waskaweb/controllers/case.py: Import DataSaveException from controllers.caselifetime now. * waskaweb/model/casedocument.py: Deleted. Not imported anywhere now. * waskaweb/controllers/caselifetime.py (DataExtractor.loadData): Moved from model.datapage. DataExtractor is only used in connection with "Neuaufnahme" and "Wiederaufnahme". Changed import. * waskaweb/model/datapage.py: Deleted. Not imported anywhere now. * waskaweb/templates/logbook/overview.mako: Call delete method in logbook controller * waskaweb/controllers/case.py: Removed static vars for logbook dialogs. Not used anymore. 2010-01-29 Bernhard Herzog * waskaweb/controllers/appointment.py: Expand star imports. 2010-01-29 Bernhard Herzog * waskaweb/controllers/appointment.py: Fix formatting. 2010-01-29 Bernhard Herzog * waskaweb/model/logbook.py (LogbookEntry.setByRow): Use ensure_unicode to convert to unicode instead of hardcoding the conversion inline. 2010-01-29 Bernhard Herzog * waskaweb/model/logbook.py: Fix formatting 2010-01-29 Bernhard Herzog * waskaweb/model/user.py (UserGroupList.__init__) (UserGroupFactory.load, UserListObject.__init__) (UserObject._fetchData): Use ensure_unicode to convert to unicode instead of hardcoding the conversion inline. 2010-01-29 Bernhard Herzog * waskaweb/lib/security.py (checkLogin) (load_db_mapping_from_file, getDbName): Improve logging. 2010-01-29 Bernhard Herzog * waskaweb/lib/security.py (checkLogin): Use ensure_unicode to convert to unicode instead of hardcoding the conversion inline. 2010-01-29 Bernhard Herzog * waskaweb/lib/security.py (ROLE_SQL): Removed. Unused. 2010-01-29 Bernhard Herzog * waskaweb/lib/security.py: Fix formatting. 2010-01-29 Bernhard Herzog * waskaweb/model/appointment.py (AppointmentFactory.createByDBRow): Use ensure_unicode to convert to unicode instead of hardcoding the conversion inline. 2010-01-29 Bernhard Herzog * waskaweb/model/case.py (ensure_unicode), waskaweb/lib/helpers.py (ensure_unicode): Move ensure_unicode from case to helpers to make it available to other parts of the code. 2010-01-29 Bernhard Herzog * waskaweb/model/user.py: Remove unused imports. 2010-01-29 Bernhard Herzog * waskaweb/model/user.py: Fix formatting. 2010-01-29 Bernhard Herzog * waskaweb/model/appointment.py: Remove unused imports 2010-01-29 Bernhard Herzog * waskaweb/model/appointment.py: Fix formatting. 2010-01-29 Bernhard Herzog * waskaweb/model/case.py (ensure_unicode): New function to convert objects to unicode. (CaseFactory.loadById, CaseFactory.loadByName) (CaseStringField.from_db, CaseDigest.getValue): Use ensure_unicode to convert to unicode instead of hardcoding the conversion inline. 2010-01-29 Torsten Irländer * waskaweb/controllers/caselifetime.py: Removed import of Widgetcollector as it would not be functional anyway. * waskaweb/model/case.py: Import UNKNOWN_DATE from new libformed instead of old model * waskaweb/lib/renderer.py: Import UNKNOWN_* from new libformed instead of defining own vars. * waskaweb/model/semantic.py: Import UNKNOWN_DATE from new libformed instead of old model 2010-01-29 Torsten Irländer Reestablish workflow in caselifetime controller. Not data is actuella saved yet. * waskaweb/templates/caselifetime/overview.mako: Disabled temporarily the findDescription function which tries to call getDescription in old formedtree. * waskaweb/controllers/caselifetime.py (CaselifetimeController.reopenAction): Basic workflow reestablished. Saving using formed does not work yet. * waskaweb/controllers/caselifetime.py (CaselifetimeController.extraTimeAction): Added extra time now seems to work again, but no time is actually inserted into database because data can not be saved with libformed from within the caselifetime controller. Saving is currently commented out * waskaweb/controllers/caselifetime.py (_set_data): New. Save data form using libformed. Saveing do not work yet correctly. 2010-01-29 Bernhard Herzog * waskaweb/lib/db.py (DB.closeConnections): Call the close() method of the connection objects, not the booleans in self.connections. This error was masked because exceptions were silently suppressed. 2010-01-29 Bernhard Herzog * waskaweb/lib/db.py (DB.recycleConnection, DB.closeConnections): Use the logging module to log warnings. Also, do not ignore exceptions, log them. 2010-01-29 Bernhard Herzog * waskaweb/lib/db.py: Fix formatting 2010-01-28 Bernhard Herzog * waskaweb/controllers/case.py: Add some spaces to text constants that were accidentally removed. 2010-01-28 Bernhard Herzog * waskaweb/controllers/usersettings.py: Expand star imports. Remove unused imports. 2010-01-28 Bernhard Herzog * waskaweb/controllers/usersettings.py: Fix formatting. 2010-01-28 Bernhard Herzog * waskaweb/lib/navigation.py: Remove unused imports 2010-01-28 Bernhard Herzog * waskaweb/lib/navigation.py: Fix formatting 2010-01-28 Bernhard Herzog * waskaweb/lib/config.py (get_path): No need to treat an absolute filename specially. os.path.join already does the right thing. 2010-01-28 Bernhard Herzog * waskaweb/lib/config.py: Fix formatting. 2010-01-28 Bernhard Herzog * waskaweb/lib/config.py: Remove unused imports 2010-01-28 Bernhard Herzog * waskaweb/model/case.py (State.getAccessTime, State.getLastDate): Remove the format parameter so that these methods always return the actual datetime object. The format parameter isn't used anymore now. 2010-01-28 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Use h.format_date to format the access time, instead of passing an explicit format string to case.state.getAccessTime() 2010-01-28 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.digest): Set c.last_access to the actual datetime object, not a formatted string. Formatting should be done in the template. * waskaweb/templates/casemanagement/digest_body.mako: Use h.format_datetime to format c.last_access 2010-01-28 Bernhard Herzog * waskaweb/templates/casemanagement/digest_body.mako: Fix formatting. 2010-01-28 Bernhard Herzog * waskaweb/lib/config.py: Fix formatting. 2010-01-28 Bernhard Herzog * waskaweb/lib/config.py (MpulsConfig.build_defaults): Add some phases definitions 2010-01-28 Bernhard Herzog * waskaweb/model/case.py (ImportCaseExistsError) (CaseOverview.sortByLastname, SessionCase.save): Removed. Not used. 2010-01-28 Bernhard Herzog * waskaweb/model/case.py (CREATE_RG_KOMPETENZ_DS, CASE_EXISTS): Removed. Not used. 2010-01-28 Bernhard Herzog * waskaweb/model/case.py (Case.getFirstMeeting) (SessionCase.getFirstMeeting): Removed. Not used. 2010-01-28 Bernhard Herzog Remove mode from SessionCase * waskaweb/model/case.py (SessionCase.__init__): Remove instance variable "mode". (SessionCase.setMode, SessionCase.setMode, Case.setMode) (Case.getMode): Removed. No longer used. 2010-01-28 Bernhard Herzog * waskaweb/templates/casemanagement/digest_body.mako: Generate the digest from a list of fields. This is now a more generic digest which needs to be adapted to specific MPuls applications. 2010-01-28 Bernhard Herzog * waskaweb/model/case.py (CaseDigest.getDescription) (CaseDigest.getValue): New methods to return the description and value of a formed field. 2010-01-28 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.phase): Remove references to session_case. It was only used to fetch the mode, which isn't really used anymore and is currently always "show" 2010-01-28 Torsten Irländer Adopted caselifetime controller to work with libformed. * waskaweb/controllers/caselifetime.py (_get_value): New. Helperfunction to get values from the libformed. * waskaweb/controllers/caselifetime.py (checkcase): Use _get_value method to get values form the libformed. * waskaweb/controllers/caselifetime.py (CaselifetimeController.index): Use _get_value method to get values form the libformed. * waskaweb/controllers/caselifetime.py (CaselifetimeController.changeLifetime): Did removed unused code. * waskaweb/controllers/caselifetime.py (CaselifetimeController.abortAction): Removed unused code and call self.index now after case was aborted * waskaweb/controllers/caselifetime.py (CaselifetimeController.abortcase): Removed unused code 2010-01-28 Torsten Irländer Deleted orphaned mako templates. All of them are not referenced in any mako nor py file: * waskaweb templates/appointments/dialogs/notificate_delete_appointment.mako, waskaweb/templates/administration/dialogs/notificate_deleteuser.mako, waskaweb/templates/administration/dialogs/failed_deletegroup_user.mako, waskaweb/templates/caselifetime/verlaengerung.mako, waskaweb/templates/documents/upload_body.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako, waskaweb/templates/casemanagement/dialogs/notificate_import_dub.mako, waskaweb/templates/casemanagement/dialogs/success_import_anon.mako, waskaweb/templates/casemanagement/dialogs/success_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/notificate_printall.mako, waskaweb/templates/casemanagement/dialogs/confirm_delete_aid.mako, waskaweb/templates/casemanagement/dialogs/failed_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/success_export_agency.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_export_agency.mako, waskaweb/templates/casemanagement/dialogs/success_delete_aid.mako, waskaweb/templates/casemanagement/dialogs/failed_markanonymize.mako, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/listbadcases.mako, waskaweb/templates/casemanagement/new_appointment.mako: Deleted 2010-01-28 Bernhard Herzog * waskaweb/controllers/case_overview.py: Expand star imports 2010-01-28 Bernhard Herzog * waskaweb/controllers/statement.py: Accidentally removed one import too many (h from waskaweb.lib.base) 2010-01-28 Bernhard Herzog * waskaweb/controllers/case_overview.py: Fix formatting. 2010-01-28 Torsten Irländer Adopted form generation in form with htmlhelpers from webhelpers to API Changes. * waskaweb/templates/casemanagement/upload.mako: Fixed formatting. Provive "name" parameter for submit button, Changed h.file_field call to h.file. * waskaweb/templates/documents/case_new.mako: Formatting * waskaweb/templates/documents/global_upload.mako: Formatting.Provive "name" parameter for submit button, Changed h.file_field call to h.file. 2010-01-28 Torsten Irländer Replaced h.url calls with h.url_for calls * waskaweb/templates/appointments/appointment_form.mako: Removed commented out code. * waskaweb/templates/casemanagement/agency_overview.mako: Call h.url_for instead of h.url * waskaweb/templates/casemanagement/upload.mako: Call h.url_for instead of h.url * waskaweb/templates/documents/case_new.mako: Call h.url_for instead of h.url * waskaweb/templates/documents/global_upload.mako: Call h.url_for instead of h.url * waskaweb/templates/documents/upload_body.mako: Call h.url_for instead of h.url * waskaweb/templates/statement/dialogs/missing_statement_body.mako: Call h.url_for instead of h.url 2010-01-27 Bernhard Herzog Fetch instance variables of CaseDigest on demand from the instance tree. * waskaweb/model/case.py (CaseDigest.fields, CaseDigest._fields): Renamed fields to _fields because it's only used internally. (CaseDigest.__init__): Store id in instance variable id. (CaseDigest._loadFromDB): Only create the intance tree and save it in self._it. Any actual values needed are fetched on demand. (CaseDigest.__getattr__): Fetch instance variables from the instance tree, using self._names to map the currently used instance variable names to the field descriptions. (CaseDigest._names): New. Map instance variable names to field descriptions. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (log): Add logger. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (CaseStatementField): Removed. Not used anymore. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (CaseDigest.fields): Remove field statement. It's not used and referred to the wrong formed field anyway. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (Case.__init__): remove instance variables page and aidplanstatement. They're not used anywhere. 2010-01-27 Bernhard Herzog * waskaweb/lib/search.py (SEARCH_CASE_SQL): fix syntax error in query. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (Case.__init__): Remove instance variable privacy_statement_signed. It's not used anywhere. (CaseFactory.loadByName): Remove parameter einverst and don't assign it to the case object's privacy_statement_signed. (CaseOverview.search): Don't pass row['einverstaendniserklaerung'] to loadByName * waskaweb/lib/search.py (SEARCH_CASE_SQL): Remove column einverstaendniserklaerung from the search result. It's not used anymore. 2010-01-27 Bernhard Herzog * waskaweb/lib/search.py (SEARCH_CASE_SQL): Remove columns zeitraum_nachbetreuung and art_beendigung from the search result. They're not used anymore. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (State.setData): Remove cm_finished and cm_canceled parameters and instance variables. (CaseFactory.loadByName): Remove s_cm_finished and s_cm_canceled parameters. (CaseOverview.search): Don't pass row['art_beendigung'] and row['zeitraum_nachbetreuung'] to loadByName 2010-01-27 Bernhard Herzog * waskaweb/lib/search.py (SEARCH_CASE_SQL), waskaweb/model/case.py (CaseOverview.search): use the formed names for name, vorname, fn in the search API 2010-01-27 Bernhard Herzog * waskaweb/templates/casemanagement/static_form/statement.mako: Removed. Not used. 2010-01-27 Bernhard Herzog * waskaweb/model/case.py (LOAD_CASE_SQL, CaseFactory.loadById): Use the same field name in the SQL query result as in the formed tree and database. 2010-01-27 Bernhard Herzog * waskaweb/lib/search.py: Remove unused imports. Import hasRole directly from waskaweb.lib.security instead of accessing it via helpers. 2010-01-27 Bernhard Herzog * waskaweb/templates/documents/case_new.mako: Adapt to helpers API changes. 2010-01-27 Bernhard Herzog * waskaweb/lib/helpers.py: Adapt to changes in Python 0.9.7: Add some more imports to get more of the old helpers API back. 2010-01-27 Bernhard Herzog * waskaweb/lib/search.py: Fix formatting. Add some comments. 2010-01-27 Torsten Irländer * waskaweb/lib/helpers.py: Reordered functions and added some comments * waskaweb/model/expr.py: Deleted. Is not used anywhere. 2010-01-27 Bernhard Herzog * waskaweb/controllers/caselifetime.py (RENEW_TEXT_CONFIRM): Fix syntax erro introduced while reformatting. 2010-01-27 Bernhard Herzog * waskaweb/model/phases_factory.py (RequiredFields.getLinkListForPhase): Add some missing u-string-prefixes that were accidentally omitted during reformatting 2010-01-26 Bernhard Herzog * waskaweb/model/phases_factory.py: Expand star imports. Remove unused imports 2010-01-26 Bernhard Herzog * waskaweb/model/phases_factory.py: Fix formatting 2010-01-26 Bernhard Herzog * waskaweb/model/agencysettings.py: Remove unused imports 2010-01-26 Bernhard Herzog * waskaweb/model/agencysettings.py: Fix formatting 2010-01-26 Bernhard Herzog * waskaweb/model/case.py: Remove unused imports 2010-01-26 Bernhard Herzog * waskaweb/model/statement.py: Fix formatting 2010-01-26 Bernhard Herzog * waskaweb/controllers/statement.py: Expand star imports and remove unused imports. 2010-01-26 Bernhard Herzog * waskaweb/controllers/statement.py (DECLINE_QUESTION): Removed. Not used. 2010-01-26 Bernhard Herzog * waskaweb/controllers/statement.py: Fix formatting 2010-01-26 Bernhard Herzog * waskaweb/controllers/waska.py: Expand star imports. 2010-01-26 Bernhard Herzog * waskaweb/controllers/caselifetime.py: Fix formatting 2010-01-26 Bernhard Herzog * waskaweb/controllers/CaseBase.py: Expand star imports. 2010-01-26 Bernhard Herzog * waskaweb/controllers/case.py: Expand star imports. Import sys explicitly instead of importing it from waskaweb.lib.base. Nothing from waskaweb.lib.evaluation is actually used in case.py. 2010-01-26 Bernhard Herzog * waskaweb/controllers/case.py: Remove unused string constants 2010-01-26 Bernhard Herzog * waskaweb/controllers/case.py: Fix formatting 2010-01-26 Torsten Irländer * waskaweb/model/view.py: Deleted not imported anwhere * waskaweb/controllers/statement.py: Removed import of model.agency as none of the imported classes are referenced. Removed import of AidList from model.repeatgroup as it is not used. * waskaweb/lib/evaluation.py: Removed unused imports: AgencyBundle from model.agency; parseSearchOptions from controllers.case_overview; AVGKIND2TEXT, SUMKIND2TEXT from model.logbook; AgencySearch from lib.search. Cleanup of imports * waskaweb/model/agency.py: Deleted not imported anywhere * waskaweb/lib/search.py (AgencySearch): Removed. Not used anywhere. * waskaweb/lib/search.py: Removed SQL for AgencySearch. * waskaweb/lib/search.py (CaseSearch): Removed code which was commented out. * waskaweb/controllers/case.py (load_case): Removed debugging output. * waskaweb/model/navigation.py: Deleted. Not imported anywhere. * waskaweb/model/case.py: Removed CREATE_SQL statement. Not used. Removed import from waskaweb.model.repeatgroup. Not used anywhere. * waskaweb/controllers/navigation.py: Removed import of AidList from mode.repeatgroup. Not used. * waskaweb/model/repeatgroup.py: Deleted. Not imported anywhere. * waskaweb/model/forms.py: Deleted. Not imported anywhere. * waskaweb/lib/casedata.py: Deleted. Not imported anywhere. * waskaweb/lib/evaluation_new.py: Deleted. Not imported anywhere. * waskaweb/lib/helpers.py (getFormularHeaders): Removed. Not used anywhere. * waskaweb/templates/casemanagement/formular.mako: Deleted. Not rendered anywhere * waskaweb/lib/helpers.py (getHelp): Implemented helpHelp function again. TODO: Put rendering of link and icon into lib renderer, as is is used there too. * waskaweb/lib/helpers.py (hasErrorsOnPage): Removed is not called anywhere. * waskaweb/lib/navigation.py (get_pagename): New. Moved from lib.helpers getFormularName. * waskaweb/lib/helpers.py (getFormularName): Call get_pagename from lib.navigation now. * waskaweb/templates/formularpage/formular.mako: Removed template function buildFormErrors * waskaweb/lib/helpers.py (getErrorsAndWarningsOnPage): Removed. Not called from anywhere * waskaweb/lib/helpers.py (getFormularErrors): Removed. Not called from anywhere. * waskaweb/lib/helpers.py (getPrintUrl): Removed Not called from anywhere. * waskaweb/lib/renderer.py: Deleted. Not imported from anywhere. * waskaweb/lib/renderer_new.py: Renamed to renderer.py. * waskaweb/controllers/formularpage.py: Changed imports to import from new renderer.py * waskaweb/model/logbook.py (Logbook.addEntry): Added logging * waskaweb/controllers/case.py (CaseController.newLogbookEntry): Cleanup function. Removed uneeded vars. * waskaweb/lib/helpers.py (render_navigation): Removed commented out code * waskaweb/lib/navigation.py (render_navigation): New. Copied from lib.helpers * waskaweb/lib/helpers.py (render_navigation): Removed. Is now imported from lib.navigation * waskaweb/lib/helpers.py (hasRole): Moved dic with mapping of old and new rolenames into hasRole function. The dic is not used anywhere * waskaweb/lib/security.py (hasRole): New. Copied from lib.helpers * waskaweb/lib/helpers.py: Import hasRole from lib.security * waskaweb/templates/logbook/edit_body.mako: Leave case_id hidden form field empty. Will be field by htmlfill. * waskaweb/lib/helpers.py (getCaseShort): Moved function * waskaweb/lib/filters.py (shorten): Modifiy shorten function to behave like getCaseShort. * waskaweb/lib/helpers.py (getCaseShort): Call shorten function from lib.filters. * waskaweb/lib/navigation.py: New import of Filecache * waskaweb/lib/helpers.py: Removed unneeded import of Filecache * waskaweb/templates/casemanagement/caselist.mako: Use shorten function instead of getCaseShort * waskaweb/templates/casemanagement/main.mako: Use shorten function instead of getCaseShort * waskaweb/lib/helpers.py (getCaseShort): Removed not call anywhere * waskaweb/lib/filters.py (nl_to_br): Handle newline on window an mac system correct * waskaweb/lib/helpers.py (replaceNewlines): Call nl_to_br function from lib.filters * waskaweb/templates/caselifetime/overview.mako: Call nl_to_br function instead of replaceNewlines. * waskaweb/lib/helpers.py (replaceNewlines): Removed not called from anywhere * waskaweb/templates/documents/case_overview.mako: Call format_number instead of formatNumber * waskaweb/templates/documents/global_overview.mako: Call format_number instead of formatNumber * waskaweb/lib/evaluation.py (Evaluation_14.perform): Call format_number instead of formatNumber. Changed import from formatNumber to format_number * waskaweb/model/document.py (Document.create): Call format_number instead of formatNumber * waskaweb/lib/helpers.py (formatNumber): Removed not called from anywhere * waskaweb/lib/helpers.py (status_message): Call localized format_datetime function to format date of status message * waskaweb/lib/helpers.py (get_logouttime): Call localized format_time function to format logouttime * waskaweb/lib/security.py (slashSplit): New. Moved from lib.helpers * waskaweb/lib/security.py (getKAName): New Moved from lib.helpers * waskaweb/lib/security.py (getDBName): Log error in case of an exception istead of debug * waskaweb/lib/helpers.py: import getKAName from lib security. Access to the SSL certificate is done there anyway * waskaweb/lib/helpers.py (getKAName): Removed. Is not imported from lib.security now. * waskaweb/lib/helpers.py (slashSplit): Removed. Is not used here anymore * waskaweb/templates/formularpage/formular.mako: Call get_pagename instead of getFormularName * waskaweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako: Call get_pagename instead of getFormularName * waskaweb/lib/helpers.py (getFormularName): Removed. Not used anywhere. 2010-01-25 Bernhard Herzog * waskaweb/controllers/case.py: Removed unused imports 2010-01-25 Bernhard Herzog * waskaweb/controllers/CaseBase.py: Fix formatting 2010-01-25 Bernhard Herzog * waskaweb/controllers/CaseBase.py: Removed unused imports 2010-01-25 Bernhard Herzog * waskaweb/controllers/CaseBase.py (CasebaseController._getRenderdFormElements) (CasebaseController._getFormNavigation) (CasebaseController._getFormdata): Removed. Unused. 2010-01-25 Bernhard Herzog * waskaweb/controllers/CaseBase.py: Remove commented out code 2010-01-25 Bernhard Herzog * waskaweb/controllers/statement.py, waskaweb/controllers/caselifetime.py, waskaweb/controllers/case.py: Do not set c.form_navigation anywhere. It's not used. 2010-01-25 Bernhard Herzog * waskaweb/controllers/case.py: Removed commented out code 2010-01-25 Bernhard Herzog * waskaweb/controllers/rg_aid.py, waskaweb/tests/functional/test_rg_aid.py: Removed. Not used anymore. * waskaweb/config/routing.py (make_map): Remove references to rg_aid 2010-01-25 Bernhard Herzog * waskaweb/model/case.py (Case.getAppointments): Removed. Unused. 2010-01-25 Bernhard Herzog * waskaweb/model/case.py (getAidPlanStatement), waskaweb/model/agencysettings.py (Agency.getAidPlanStatement), waskaweb/model/statement.py (AidPlanStatement): Removed. Aid plans are not used in WASKO. 2010-01-25 Bernhard Herzog * waskaweb/model/case.py (_createDependencies) (_createTablesForImport, _fetchKundennummerFromPDF, _caseExists): Removed. Unused. 2010-01-25 Bernhard Herzog * waskaweb/controllers/case.py (CaseController.printAll): get_rendered_page always returns unicode so don't convert the its returnvalue to unicode again 2010-01-25 Bernhard Herzog * waskaweb/model/case.py (CaseDigest.fields): New class variable with a list of field descriptions (CaseDigest._loadFromDB): Iterate over self.fields to read the values from the instance tree and to set the instance variables. (CaseField, CaseStringField, CaseAgeField, CaseStatementField): New classes to describe the fields of the case digest. 2010-01-25 Bernhard Herzog * waskaweb/model/case.py (Case.getDigest): remove the parameter empty and the Ürkan mode with it. No caller uses it anymore. 2010-01-25 Bernhard Herzog * waskaweb/templates/casemanagement/digest_body.mako, waskaweb/model/case.py (CaseDigest._loadFromDB): Apply the F.NA and nl_to_br in the template, not in _loadFromDB. Also, html-escape the value properly. 2010-01-25 Bernhard Herzog * waskaweb/lib/filters.py (nl_to_br): New. filter to convert newlines to HTML
tags 2010-01-25 Bernhard Herzog * waskaweb/model/case.py: Remove unused SQL templates. 2010-01-22 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Move list row code into a separate function. 2010-01-22 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: build table header rows and data row using a list of column descriptions. 2010-01-22 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Move status icons and per-case actions into their own functions. 2010-01-22 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Better way to handle alternating table row styles. Reduces code duplication. 2010-01-22 Bernhard Herzog * waskaweb/templates/casemanagement/caselist.mako: Move the code for the table headers into a separate function. 2010-01-22 Bernhard Herzog * waskaweb/model/case.py: Fix formatting. 2010-01-22 Torsten Irländer * waskaweb/lib/evaluation.py (Evaluation._build_eval_where_clause): Deleted is not called from anywhere. * waskaweb/lib/evaluation.py (Evaluation_X): Deleted unused evaluation classes which where not used anymore. Left over classes which are referenced from logbook for logbook evaluation. 2010-01-22 Torsten Irländer * waskaweb/controllers/case_overview.py: Removed import. Was not used * waskaweb/lib/search.py (build_inconsistency_type_querys): Removed. Was not used anyway. * waskaweb/controllers/agency_overview.py, waskaweb/tests/functional/test_agency_overview.py: Removed is not called anywhere, anymore (evaluation specific) * waskaweb/templates/casemanagement/agencylist.mako, waskaweb/templates/casemanagement/agency_search.mako: Removed unused templates (evaluation specific) 2010-01-22 Torsten Irländer * ChangeLog.txt: Renamed to ChangeLog (GNU naming) 2010-01-21 Bernhard Herzog * waskaweb/model/case.py (CaseOverview.__init__): Remove unused parameter search_str. 2010-01-21 Bernhard Herzog * waskaweb/model/case.py (Case.getPage, Case.getKompetenzId): Removed. Not used anywhere. 2010-01-21 Bernhard Herzog * waskaweb/controllers/case_overview.py (CaseOverviewController.overview): Remove misleading comment 2010-01-21 Bernhard Herzog * waskaweb/controllers/administration.py (AdministrationController.viewAidPlanStatement): Removed. It's unused. 2010-01-21 Bernhard Herzog * waskaweb/templates/administration/edit_settings.mako: Fix formatting. Remove commented out code 2010-01-21 Bernhard Herzog * waskaweb/templates/administration/show_settings.mako: Fix formatting. Remove commented out code 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/overview.mako: Removed commented out check_validity bundle action. * waskaweb/controllers/case_overview.py (CaseOverviewController.bundleAction): Remove check_validity bundle action. It was commented out anyway. * waskaweb/model/case.py (CaseBundle.checkValidity) (Case.checkValidity): Removed. Not used anywhere. 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/overview.mako: Remove evalue bundle action. It was commented out anyway. * waskaweb/controllers/case_overview.py (CaseOverviewController.bundleAction): Remove evaluate action 2010-01-21 Bernhard Herzog * waskaweb/controllers/case_overview.py (CaseOverviewController.listBadCases): Removed. Not used anywhere. 2010-01-21 Bernhard Herzog * waskaweb/lib/base.py (BaseController.__before__): Remove evalation server specific code. c.isEvaluationServer is gone now. 2010-01-21 Bernhard Herzog * waskaweb/lib/evaluation.py (Evaluation.where_clause) (Evaluation._build_eval_where_clause): Remove evalation server specific code. 2010-01-21 Bernhard Herzog * waskaweb/lib/evaluation.py, waskaweb/lib/filecache.py: Fix coding declation. Emacs doesn't UTF-8 with upper case letters. 2010-01-21 Bernhard Herzog * waskaweb/lib/helpers.py: remove unused adelexml import * waskaweb/lib/adelexml.py: Removed. No longer used. 2010-01-21 Bernhard Herzog * waskaweb/templates/administration/new_user.mako: Remove evaluation server parts. Cleaner handling of adm user. 2010-01-21 Bernhard Herzog * waskaweb/templates/administration/new_user.mako: Fix formatting. 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/downloadXML.mako: Fix formatting. Remove evaluation server parts. 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/downloadCSV.mako: Fix formatting. Remove evaluation server parts. 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/downloadXLS.mako: Fix formatting. Remove evaluation server parts. 2010-01-21 Bernhard Herzog * waskaweb/templates/casemanagement/overview.mako: Fix bundle action URL 2010-01-20 Bernhard Herzog * waskaweb/templates/main.mako: Show navigation for appointments, documents, import and evaluation only if they're activated. 2010-01-20 Bernhard Herzog * waskaweb/lib/config.py (MpulsConfig.build_defaults): Add more settings to enable/disable modules and case modules. 2010-01-20 Bernhard Herzog * waskaweb/templates/main.mako: remove evaluation specific parts. 2010-01-20 Bernhard Herzog * waskaweb/templates/main.mako: Fix formatting. 2010-01-20 Bernhard Herzog * waskaweb/templates/start/start.mako: Fix formatting 2010-01-20 Bernhard Herzog * waskaweb/templates/start/start.mako: remove message about inconsistencies. It's not used in wasko. 2010-01-20 Bernhard Herzog * waskaweb/templates/start/start.mako: Include newslist.mako, remindlist.mako, appointmentlist.mako, globalappointmentlist.mako only if the corresponding is enabled. 2010-01-20 Bernhard Herzog * waskaweb/templates/start/start.mako: Remove evaluation server specific branch. 2010-01-20 Bernhard Herzog * waskaweb/controllers/waska.py: Remove unused imports 2010-01-20 Bernhard Herzog * waskaweb/controllers/waska.py: Fix formatting 2010-01-20 Bernhard Herzog Fix application logic: * waskaweb/controllers/waska.py (get_remindlist): always return the max save time reminders. For case managers, also return the case reminders. (get_case_appointments): do not include the reminders. 2010-01-20 Bernhard Herzog * waskaweb/controllers/waska.py (WaskaController.start) (get_remindlist, get_newslist, get_case_appointments) (get_global_appointments): Split most of the code of WaskaController.start into the new get_* functions. The inconsistency reporting has been removed for now. 2010-01-20 Bernhard Herzog * waskaweb/lib/config.py (MpulsConfig.build_defaults): Add some settings to enable/disable modules and case modules. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (get_logouttime): Do not use a hard-wired value of the time-out duration. Add a doc-string. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (hasRole): Use a dictionary to map old role-names to the names. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py: Fix formatting 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (safe_unicode): Removed. Unused. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (dd_mm_YYYY, HH_MM, dd_mm_yyyy_HH_MM): Improve doc-strings and comments. Implement dd_mm_yyyy_HH_MM in terms of the other two. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (date2str, time2str, datetime2str) (format_date, format_time, format_datetime): The format_* functions are basically just aliases for the *2str functions. However, it's the format_* functions that are actually used. So basically rename the *2str functions to the corresponding format_* functions and implement them more consistently, in particular always log errors. 2010-01-19 Bernhard Herzog * waskaweb/model/phases_factory.py (space_short), waskaweb/lib/helpers.py (space_short): Move space_short from helpers to phases_factory because that's the only place where it's used. 2010-01-19 Bernhard Herzog * waskaweb/lib/helpers.py (get_adele_name, get_adele_description) (str2date, str2time, str2datetime): Removed. They're not used anywhere 2010-01-19 Bernhard Herzog * waskaweb/model/logbook.py (checkDate, checkTime), waskaweb/lib/helpers.py (checkDate, checkTime): Move checkDate and checkTime and the constants used by them to from helpers to logbook becase that's the only place where they're actually used. * waskaweb/model/logbook.py (LogbookEntryChecker.__init__): Adapt accordinly. 2010-01-19 Bernhard Herzog * waskaweb/lib/base.py (BaseController.__before__): Fix syntax error 2010-01-19 Bernhard Herzog * waskaweb/lib/config.py (MpulsConfig.build_defaults): Remove defaults for now unused paths settings 2010-01-19 Bernhard Herzog * waskaweb/lib/base.py: Fix formatting and remove commented out code 2010-01-19 Bernhard Herzog * waskaweb/lib/base.py (BaseController.__before__): Write error message to log instead of stderr. Remove unnecessary debug log 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py: Remove unused imports 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py (Globals.__init__): access pylons.config consistently as config 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py: Improve formatting 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py (Globals.__init__): Remove the config file logging messages that are now in MpulsConfig 2010-01-19 Bernhard Herzog * waskaweb/lib/config.py (MpulsConfig.__init__): Simplify try-finally-block and improve logging 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py (Globals.__init__): Better exception logging. Slightly better path handling due to configuration improvements. 2010-01-19 Bernhard Herzog * waskaweb/lib/app_globals.py: Remove unused import 2010-01-19 Bernhard Herzog * waskaweb/config/environment.py: Improve formatting 2010-01-19 Bernhard Herzog * environment.py (load_environment): Initialize application with the correct paths immediately instead of overriding them after initialization * development.ini: Add new settings: mpuls.app.path.public mpuls.app.path.i18n mpuls.app.path.addons mpuls.app.path.templates 2010-01-19 Bernhard Herzog * environment.py (load_environment): remove tmpl_options because it's not used 2010-01-19 Bernhard Herzog * environment.py (load_environment): remove debug print 2010-01-19 Bernhard Herzog * development_wsgi.ini, production_wsgi.ini: removed. no longer used. 2010-01-13 Torsten Irlaender Update to pylons 0.9.7 and reactivate running the application in standalone mode. * setup.py, development.ini, waskaweb/config/middleware.py, waskaweb/controllers/waska.py, waskaweb/lib/helpers.py, waskaweb/lib/security.py, waskaweb/lib/base.py: Updateded WASKO according to: http://wiki.pylonshq.com/display/pylonsdocs/Upgrading. Further enabled feature to run the appliction as paster app. DB-Name ist then fetched from the config file. Fixed some rendering issue comming with 0.9.7 of pylons * waskaweb/controllers/formularpage.py, waskaweb/lib/renderer_new.py, waskaweb/templates/casemanagement/overview.mako: Added some debugging and removed use of htmlfill for formularpage rendering as it seems to overwrite existing values. 2010-01-08 Frank Koormann * waskaweb/templates/caselifetime/overview.mako: Typo fixed 2009-11-23 Torsten Irlaender Load formed and annotations from public dir * waskaweb/config/environment.py, waskaweb/lib/config.py, waskaweb/lib/validators.py, waskaweb/lib/app_globals.py, waskaweb/templates/casemanagement/new.mako: Load formedtree and annotations from a formed dir located under public. Public can be configured in a config file. Added new structure for phase (Not functional yet) * waskaweb/model/phase.py, waskaweb/tests/functional/test_phase.py, waskaweb/controllers/phase.py, waskaweb/templates/phase, waskaweb/templates/phase/phase.mako: These files wil ideally replace to old phase-classe. Add a new controller to handle all phasespecific calls. Unifiy the old phases files in one new phase-file. Moved default statement to new public dir * waskaweb/model/agencysettings.py: Load statements from formed dir unter public. * waskaweb/public/formed/privacy_statement.html waskaweb/public/formed/discretion_statement.html waskaweb/public/formed/aid_plan_statement.html formed/privacy_statement.html formed/discretion_statement.html formed/aid_plan_statement.html: Moved files. * formed/waska-hilfetexte.xhtml: Deleted. Not referenced anymore. 2009-11-18 Torsten Irlaender Implement grouping of choicelists * waskaweb/lib/renderer_new.py, formed/formedtree_web.xml: New formedtree with groups. Adopted grouping 2009-11-17 Torsten Irlaender Issue606 * templates/casemanagement/phase.mako: Allow to restarting allready finished phases again. Further added check if end of CM was abort. if so, then nb phase can not be startet. 2009-11-11 Torsten Irlaender Issue522 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed error message Issue549 * waskaweb/controllers/case.py: Inproved confirmation dialog for deleting cases. Issue554 * waskaweb/controllers/caselifetime.py: - Added check on None-Values. - Disable Submit for admin in Verwaltungsfunktionen 2009-11-04 Torsten Irlaender Issue567 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Fixed spelling 2009-11-03 Torsten Irlaender Issue522 * waskaweb/lib/validators.py: Allow alternative date formats 2009-11-02 Torsten Irlaender Issue844 (waska) * waskaweb/templates/casemanagement/new.mako: Added new statement 2009-10-30 Torsten Irlaender Issue844 (waska) * waskaweb/public/documents/ee_ar.pdf, waskaweb/public/documents/ee_en.pdf, waskaweb/public/documents/ee_de_ohnetn.pdf, waskaweb/public/documents/ee_tr.pdf, waskaweb/public/documents/ee_ru.pdf, waskaweb/public/documents/ee_pl.pdf, waskaweb/templates/statement/list_statements.mako, formed/privacy_statement.html: Updated privacy statement. 2009-10-26 Torsten Irlaender Issue255: * formed/formedtree_web.xml: Commented out "Freie Dokumentation NB" Issue530: * waskaweb/public/xml/eval_analyse.xml, waskaweb/public/xml/eval_weitere.xml: Unified namings Issue522: * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/evaluate.py: Changed translation: Does not include umlauts anymore (quickfix) Issue466: * waskaweb/lib/search.py: Added new migration filter Issue427: * waskaweb/model/phases.py: Do not display dates nor calculate timeframes on phasepage if time is unknown (0001-01-01) 2009-10-23 Torsten Irlaender Set version to 1.1.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version * Changes.txt: Updated Changes Fixed getting default datefields * controllers/evaluate.py: Wrong key 2009-10-19 Torsten Irlaender Fixed Typo * waskaweb/templates/evaluation/evaluate.mako: Spelling erros Set version to 1.1.0-rc4 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po Issue542 * waskaweb/controllers/evaluate.py: If art ending is given check if the case was finished within the evaluation timeframe * waskaweb/public/xml/eval_zusammenfassung.xml: Fixed syntax error. Set version to 1.1.0-rc5 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po 2009-10-16 Torsten Irlaender Set version to 1.1.0-rc2 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po Issue537: * waskaweb/templates/evaluation/evaluate_tagebuch.mako: Added migration Issue522: * waskaweb/lib/validators.py: Start and enddate must not be empty Issue525: * waskaweb/templates/evaluation/evaluate_adele.mako: Disabled datefields (was only readonly) 2009-10-15 Torsten Irlaender Fixed spelling errors * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/start/help.mako: Fixed some spelling errors. Issue530 * waskaweb/public/xml/eval_tagebuch.xml, waskaweb/public/xml/eval_zusammenfassung.xml: Fixed typos Issue 194 * waskaweb/public/images/logo_ka_75.png: New logo 2009-10-14 Torsten Irlaender Issue525 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/evaluate.py, waskaweb/public/xml/eval_adele.xml, waskaweb/templates/evaluation/evaluate.mako, waskaweb/templates/evaluation/evaluate_adele.mako: Disabled configuration option when selecting adele evalution 2009-10-08 Torsten Irlaender Issue504 * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/phase.mako: Only allow to start NB if the case manager indicates that it is really planed. 2009-10-08 Torsten Irlaender Set Version string to 1.1.0 * waskaweb/i18n/waskaweb.pot waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Updated translations. Set version 2009-10-06 Torsten Irlaender Implemented searchfiters for evaluations * waskaweb/controllers/evaluate.py, waskaweb/lib/helpers.py, waskaweb/lib/validators.py, waskaweb/templates/evaluation/evaluate.mako: Added filters for phase and type of ending. Bases on the filters in connection with dates a sql query is generated which is used to build the base amount of cases for the evaluation. Open resultpage in a new windown (workaround for layout issues) * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/evaluation/result.mako, waskaweb/templates/evaluation/evaluate.mako: Display result of the evaluation in a new window. Created new styles. Added XML and CSV Export * waskaweb/controllers/evaluate.py: Added controllers for XML and CSV Export. Fixed evaluations * waskaweb/public/xml/eval_tagebuch.xml, waskaweb/public/xml/eval_zusammenfassung.xml: Do evaluation on views instead on tables 2009-10-05 Torsten Irlaender Fixed logbuch evalauation * waskaweb/templates/logbook/overview.mako, waskaweb/templates/evaluation/logbook.mako: Evaluation of a single logbook was broken as the whole evaluation thing has changed. Added new template for logbook evaluations. Added new bundled action to check cases for validity * waskaweb/model/case.py, waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/dialogs/success_checkvalidity.mako, waskaweb/templates/casemanagement/dialogs/failed_checkvalidity.mako: Added function (bundle and single case) to check for validity. The function is currently commented out in bundles actions. Issue505 * waskaweb/public/xml/eval_adele.xml, waskaweb/public/xml/eval_analyse.xml, waskaweb/public/xml/eval_aktiv.xml, waskaweb/public/xml/eval_tagebuch.xml, waskaweb/public/xml/eval_verlauf.xml, waskaweb/public/xml/eval_weitere.xml, waskaweb/public/xml/eval_zusammenfassung.xml: Changed master_tbl_view to master_tbl_eval_total_view 2009-10-02 Torsten Irlaender Issue438 * waskaweb/controllers/statement.py: Return to digest if statement is unclear in set statement dialog. Issue432 (not fixed but marked) * waskaweb/model/case.py: Added comments. Issue466: * waskaweb/lib/search.py: Fixed search query Issue457: * waskaweb/controllers/statement.py: Fixed setStatement function. 2009-09-30 Torsten Irlaender Enhance evaluation interface * templates/evaluation/evaluate.mako: As using search results as base for evaluations does not work yet. The evaluation interface was enhanced to enabled users to set the start und end dates. This way the evaluation will work in the same way the Adele evalutions was performed for the ESF (no search before). Fixed layout * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css: Fixed styles 2009-09-24 Torsten Irlaender Fixed evaluations on db without rg * waskaweb/controllers/evaluate.py: Fixed start and end date parameter * waskaweb/public/xml/eval_adele.xml, waskaweb/public/xml/eval_tagebuch.xml: Adopted evaluations for db without rg. 2009-09-23 Torsten Irlaender Perform evaluations in with default options (No integration with search). * waskaweb/controllers/evaluate.py, waskaweb/lib/helpers.py, waskaweb/lib/validators.py: Replaced old evaluate controller with new one. * waskaweb/public/xml/eval_adele.xml, waskaweb/public/xml/eval_analyse.xml, waskaweb/public/xml/eval_aktiv.xml, waskaweb/public/xml/eval_tagebuch.xml, waskaweb/public/xml/eval_verlauf.xml, waskaweb/public/xml/eval_weitere.xml, waskaweb/public/xml/eval_zusammenfassung.xml: Added evaluations files. * waskaweb/public/styles/all.css, waskaweb/templates/evaluation, waskaweb/templates/evaluation/result.mako, waskaweb/templates/evaluation/evaluate.mako: Added new templates for evaluation * waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/evaluation, waskaweb/templates/casemanagement/evaluation/evaluation_avg_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_esfstammblatt.mako, waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_0.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Deleted old evaluation templates 2009-09-22 Torsten Irlaender Read jason-based configuration-files. List evaluations based on configfile. * production_wsgi.ini: Adding var to define json config * waskaweb/lib/config.py, waskaweb/lib/app_globals.py: Read config file on server startup and make it available under mpuls_config. * waskaweb/templates/main.mako: List available evaluations based on configfile. 2009-09-09 Frank Koormann Release 1.0.7 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed Version string * Changes.txt: Added changes. 2009-09-08 Torsten Irlaender * waskaweb/controllers/case.py (CaseController.anonymize): Check also phase: Must be end phase, since admins cannot change fields in the master table (as needed by the case finalisation). 2009-09-05 Frank Koormann * waskaweb/model/case.py: Include datum_cm_ende in LOAD_CASE_SQL 2009-09-04 Frank Koormann Call getData with explicite master_id to avoid side effects on case bundles. Anonymization check for all active cases of the current period, even if started in the former period (modified isYoungerThan). * waskaweb/model/phases_factory.py (RequiredFields.isPhaseComplete, RequiredFields.missingFields, RequiredFields.getLinkListForPhase, RequiredFields.phases_pairs, RequiredFields.currentPhase): Hand through the master_id. * waskaweb/model/case.py (CaseList.getCases): Avoid reuse of CaseFactory (SessionCase.isYoungerThan, Case.isYoungerThan): Evaluate the CM end date: Return True if case was active after given date. (CaseFactory.loadById): Load also "datum_cm_ende". (SessionCase.getFirstMeeting): Return first meeting (was: first_name) (State.phasesAreConsistent, State.phasesAreCompleted): Explicit use of master_id. * waskaweb/controllers/case.py (_completeAnonymizedCase): Explicit master_id in calll of getData 2009-09-04 Frank Koormann Activate new barriers also for cases with pending anonymization. * waskaweb/controllers/case_overview.py (CaseOverviewController.bundleAction): Check inconsistancies before anonymizing. * waskaweb/controllers/case.py (CaseController.anonymize): Added full consistancy check before asking for confirmation. * waskaweb/templates/dialogs/failed.mako: Removed call of "h", since it caused encoding corruption of messages. 2009-08-25 Frank Koormann Release 1.0.6 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed Version string * Changes.txt: Added changes. 2009-08-25 Frank Koormann Establish new barriers for anonymization (cases must be evaluable): - finished CM or post-care phase are anonymizable - exception: running CM mark as aborted is anonymizable, further unfilled mandatory fields are set to "unknown" * waskaweb/model/phase_transition.py (phase_end, phase_start): New, return true if the current phase is corresponding. * waskaweb/model/phases_factory.py (currentPhase): New, initialize phase object. * waskaweb/model/case.py (Case.getId): New. (State.phasesAreCompleted): New, true if current phase is complete. This implements special handling of aborted CM phase. * waskaweb/controllers/case_overview.py (CaseOverviewController._filterBundle): phasesAreCompleted added. * waskaweb/controllers/statement.py: Updated messages. (StatementController.declinePrivacyStatement): phasesAreCompleted and _completeAnonymizedCase added. * waskaweb/controllers/case.py: Updated messages. (_determineAnonymizedCaseEndPhase): Helper, determine phase to be set. (_completeAnonymizedCase): Helper, this implements the special handling of aborted CM phase. (CaseController.markForAnonymizeFromOverview, CaseController.markForAnonymize): phasesAreCompleted and _completeAnonymizedCase added. 2009-08-25 Frank Koormann * waskaweb/templates/casemanagement/caselist.mako: Sync pending deletion and pending anonymization behavior: Cases are browseable for admins. 2009-08-19 Frank Koormann * waskaweb/model/casedocument.py (CaseDocument.setData): Fixed typo in Semantic error collection, which caused error report to crash. 2009-08-14 Frank Koormann * waskaweb/model/casedocument.py (CaseDocument.setData): Fixed typo in Semantic error collection, which caused error report to crash. 2009-07-30 Torsten Irlaender Fixed issue392 * waskaweb/controllers/case_overview.py: Fixed name of sortfield. Fixed issue398 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/administration/account_deactivated.mako: Removed optionlist. 2009-08-07 Sascha L. Teichmann 2009-07-29 Torsten Irlaender Make creating cases work with libformed * waskaweb/model/case.py, waskaweb/controllers/case.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/new.mako: Make printing of the statement work on case creation again. * waskaweb/model/case.py: Adopted fieldnames. Fixed selection of rg from overview pages * waskaweb/lib/renderer_new.py: Fixed select link Ported back rendering of rg digests in rg overviews * waskaweb/lib/renderer_new.py, waskaweb/public/styles/all.css: Copied styles and function to render rg digests. 2009-07-28 Sascha L. Teichmann * waskaweb/model/case.py: Fixed creation of new cases. 2009-07-28 Torsten Irlaender Major change. Replaced navigation, and Formrenderer! Ported from mpuls-ng. Navigation und Formrendering is basically working again but needs a lot of finetuning. * waskaweb/model/statement.py waskaweb/model/phases_factory.py waskaweb/model/case.py waskaweb/config/routing.py waskaweb/controllers/repeatgroup.py waskaweb/controllers/navigation.py waskaweb/controllers/CaseBase.py waskaweb/controllers/case.py waskaweb/controllers/formularpage.py waskaweb/lib/navigation.py waskaweb/lib/helpers.py waskaweb/lib/base.py waskaweb/lib/renderer_new.py waskaweb/lib/app_globals.py waskaweb/lib/db.py waskaweb/public/styles/all.css waskaweb/public/styles/screen.css waskaweb/public/images/icons/formular waskaweb/public/images/icons/formular/rg_first.png waskaweb/public/images/icons/formular/required.png waskaweb/public/images/icons/formular/rg_new.png waskaweb/public/images/icons/formular/rg_prev.png waskaweb/public/images/icons/formular/undo.png waskaweb/public/images/icons/formular/rg_next.png waskaweb/public/images/icons/formular/evaluation.png waskaweb/public/images/icons/formular/help.png waskaweb/public/images/icons/formular/rg_delete.png waskaweb/public/images/icons/formular/info.png waskaweb/public/images/icons/formular/rg_last.png waskaweb/public/images/icons/navigation waskaweb/public/images/icons/navigation/folder_open.png waskaweb/public/images/icons/navigation/entry.png waskaweb/public/images/icons/navigation/folder_closed.png waskaweb/templates/formularpage waskaweb/templates/formularpage/content.mako waskaweb/templates/formularpage/formular.mako waskaweb/templates/repeatgroup waskaweb/templates/repeatgroup/dialogs waskaweb/templates/repeatgroup/dialogs/confirm_delete_rg_entry.mako waskaweb/templates/casemanagement/main.mako formed/formedtree_web.xml: Lots of new files. Copied from mpuls-ng and adapted to code to work within wasko. Make the annotations work again * waskaweb/templates/annotations, waskaweb/templates/annotations/annotation.mako, waskaweb/controllers/annotations.py: Copied new controller and template from mpuls-ng. Make printing of a formularpage work again * waskaweb/controllers/formularpage.py, waskaweb/public/styles/print.css, waskaweb/templates/formularpage/formular.mako: Added new function to formularpage to handle print requests. Added new styles for printing. Make printing if the digest work again * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/digest_body.mako: New function in controller to handle print requests for the digest. Make printing of the whole case work again * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako: Removed link to print empty cases. Adopted traversal over the case to the new navigation. Make loading the digest wirk again * model/case.py, controllers/case.py, lib/navigation.py, templates/casemanagement/digest_body.mako: Load casedata and use the libformed for loading. Removed fields for secondary telephonenumbers, as they may not be present. Did not implement such logic to check wheter there is a second telephonenumer or not. Fixed navigation * waskaweb/controllers/navigation.py, waskaweb/controllers/formularpage.py, waskaweb/lib/navigation.py: Unfold folders on save an proceed. Layout of headers adopted to old WASKO-Layout * waskaweb/controllers/case.py, waskaweb/public/styles/screen.css, waskaweb/templates/formularpage/content.mako, waskaweb/templates/formularpage/formular.mako: Render Header of the formular in the similar way like it was in WASKO. 2009-07-16 Torsten Irlaender Set version to 1.0.5 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version. * Changes.txt: Added changes from 1.0.4 to 1.0.5 Added addidional search filter: * waskaweb/controllers/case_overview.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/search.mako: New search filter to search for migration 2009-07-15 Sascha L. Teichmann * waskaweb/model/casexml.py: Fixed issue344 2009-07-14 Torsten Irlaender Fixed issue338 * formed/formedtree_web.xml: Fixed rules for Nachbetreuung. Fixed issue339 * lib/helpers.py, templates/main.mako: Display time when the session will expire. 2009-07-10 Torsten Irlaender Set version to 1.0.4 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version. * Changes.txt: Added changes from 1.0.3 to 1.0.4 2009-07-07 Sascha L. Teichmann Fixed issue322 * waskaweb/controllers/case_overview.py: Enable unchecking of parts of the case when exporting. 2009-06-25 Torsten Irlaender Fixed evaluation "Art der Beendigung": Values have changed for "Abbruch" and "Vorzeitige Beendigung * lib/adelexml.py: Changed value for "Abbruch" 2009-06-23 Torsten Irlaender Tagged version 1.0.3 2009-06-22 Torsten Irlaender Added pdf version of EE * waskaweb/public/documents, waskaweb/public/documents/ee_ar.pdf, waskaweb/public/documents/ee_en.pdf, waskaweb/public/documents/ee_tr.pdf, waskaweb/public/documents/ee_ru.pdf, waskaweb/public/documents/ee_pl.pdf, waskaweb/templates/statement/list_statements.mako, waskaweb/templates/casemanagement/new.mako: Added PDF-Versions of EE 2009-06-16 Torsten Irlaender Fixed issue242 * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako: Admin can not view the logbook anymore. 2009-06-12 Sascha L. Teichmann Tagged as 1.0.2 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string to 1.0.2 2009-06-11 Sascha L. Teichmann Partial Fix for issue207: * waskaweb/model/semantic.py: Corrected typo i error message. * waskaweb/model/casexml.py: Use FormEd type checking. 2009-06-10 Sascha L. Teichmann Tagged as 1.0.1 * Changes.txt: Changes since 1.0.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string to 1.0.1 * formed/formedtree_web.xml: From upstream 2009-06-02 Sascha L. Teichmann Fixed issue247 (next attempt) * waskaweb/model/semantic.py: fixed regular expressions. 2009-06-02 Torsten Irlaender Fixed issue142 * waskaweb/controllers/caselifetime.py, waskaweb/lib/validators.py: Do "not" check formvalues if "Antrag ist abgelehnt" Fixed issue263 * formed/formedtree_web.xml: New Formedtree. 2009-05-27 Sascha L. Teichmann Fixed issue247 * waskaweb/model/semantic.py: Dates 'dd.mm' are now completed to 'dd.mm.yyyy' with yyyy being the current. For invalid dates a format suggestion is made. 2009-05-26 Sascha L. Teichmann Fixed issue205, issue219 * formed/formedtree_web.xml: Made name in FormEd unique. There where a a lot of rules with the same name which caused invalid cache access in rule evaluation on the "Phase im CM" page. 2009-05-19 Torsten Irlaender Fixed issue210, issue233: * waskaweb/model/casexml.py, waskaweb/lib/xmlexport.py: Read and write formed XML files in version 3 Set versionstring to 1.0.1-rc1 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string 2009-05-18 Torsten Irlaender Fixed issue233: * formed/formedtree_web.xml: New formed. 2009-05-15 Torsten Irlaender Fixed issue 191: * formed/formedtree_web.xml: No checks on start "Kompetenzfestellung" Fixed issue220: * templates/casemanagement/formular.mako: Removed print link for aidplan statement 2009-04-24 Torsten Irlaender Fixed issue184 * waskaweb/lib/adelexml.py, waskaweb/lib/evaluation_new.py: Fixed syntax error and wrong table definition in evaluation query. 2009-04-07 Torsten Irlaender Fixed labeling * templates/casemanagement/wiederaufnahme.mako: Fixed missing relabeling on creation of a new case (Wiederaufnahme) Set versionstring to 1.0.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string 2009-04-07 Torsten Irlaender Set version to 1.0.0-rc4 2009-04-07 Sascha L. Teichmann Fixed issue165 * waskaweb/converter/wasko_v1v2.py: Compared string with int :-/ * waskaweb/controllers/caselifetime.py: Unrelated: Fixed usage of traceback. 2009-04-07 Torsten Irlaender Renamed label for "Datum Genehmigung Wiederaufnahme" * waskaweb/templates/caselifetime/overview.mako, formed/formedtree_web.xml: s/am/ab Append NAU/WAU instead of NA/WA to the casenumber for the old cases after "Wiederaufnahme/Neuaufnahme" * waskaweb/controllers/caselifetime.py: Changed appending 2009-04-06 Torsten Irlaender Issue111 * waskaweb/model/case.py: Deactivated adding of groupname on creation again. Added missing required rule * formed/formedtree_web.xml Set version string to 1.0.0-rc3 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string. 2009-04-06 Torsten Irlaender Set version string to 1.0.0-rc2 * waskaweb/i18n/waskaweb.pot waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string. * waskaweb/templates/documents/upload_body.mako: Added magic enconding comment Fix for issue127 * waskaweb/templates/caselifetime/overview.mako: Added links next to formularelements linking to the right formpage. Fix for issue156 * waskaweb/controllers/case.py: Append "_NA/_WA" on initial case creation if it is a "Neuaufnahme/Wiederaufnahme". Fix for issue85 * formed/privacy_statement.html: Added some
to make vor room for signing. 2009-04-02 Sascha L. Teichmann Fix for issue128 * waskaweb/converter/wasko_v1v2.py: fields were prefix with 'f_'. 2009-04-02 Sascha L. Teichmann partial fix for issue106. Removed 'Unterstuetzungsangebote' from statements list. * waskaweb/templates/statement/list_statements.mako: Removed 'Unterstuetzungsangebote' from statement list. * waskaweb/controllers/statement.py: Removed corresponding controller. * waskaweb/model/statement.py: escape values before filling the templates to prevent HTML injections. 2009-04-02 Sascha L. Teichmann * waskaweb/converter/wasko_v1v2.py: forget '.self' in two places. 2009-04-02 Sascha L. Teichmann Fixes for issue150, issue149 and issue162 (partly) * waskaweb/model/casexml.py: Only import the case if its not 'schwebend-*'. Fixed XMLImportExceptions. * waskaweb/controllers/case.py: Another tweak againt UEE. 2009-04-02 Sascha L. Teichmann Fix for issue137 * waskaweb/templates/caselifetime/overview.mako: extra mapping for "anmerkungen". 2009-04-03 Torsten Irlaender Fix for issue137 * waskaweb/templates/caselifetime/overview.mako: Changed labeling of Field "anmerkungen" 2009-04-02 Sascha L. Teichmann Possible fix for issue150 * waskaweb/controllers/case.py: fix an unicode decode error. 2009-04-02 Sascha L. Teichmann Fixed issue149 (application part) * waskaweb/model/casexml.py: Check uuid for being already anonymized before importing the case. 2009-04-02 Torsten Irlaender Fixed issue151: * waskaweb/model/logbook.py, waskaweb/lib/evaluation.py, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako: Added new option "Teambesprechung". Adjusted evaluation on logbook page. Fixed issue111: * waskaweb/model/case.py, waskaweb/model/user.py, waskaweb/lib/security.py: On creation of case the standin of the user is inserted into the case. Fixed issue96: * formed/annotations.xhtml: Added new helptext for "geschlecht" Fixed issue126: * waskaweb/controllers/caselifetime.py, formed/formedtree_web.xml: Added rules for datechecks on "verlaengerung". prefill form with dates for verlaengerung. Fixed issue156: * waskaweb/controllers/caselifetime.py: Append mark to casenumber when case is reopened or renewed. Fixed issue143: * formed/formedtree_web.xml: removed consistency date checks for end of "unterstuetzungangebot" Fixed issue161: * waskaweb/model/logbook.py, waskaweb/lib/evaluation.py, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako:Added new option "Gespräch mit Mitarbeitern der Jugendhilfe". Adjusted evaluation on logbook page. Fixed issue69: * formed/formedtree_web.xml: Changed label of fields 2009-04-01 Sascha L. Teichmann * waskaweb/converter/wasko_v1v2.py: Fixed elimination of f_kf_meth_c_1. 2009-04-01 Sascha L. Teichmann Fixed issue128: * waskaweb/converter/wasko_v1v2.py: Added converter to eliminate f_kf_meth_c_1 during import. 2009-04-01 Torsten Irlaender Fixed issue129 * waskaweb/templates/start/responsible.mako: Changed emailaddress Fixed issue131 * formed/annotations.xhtml, formed/formedtree_web.xml: Removed required tag from "cm_kontakt_sonstige" and added tag for evaluation. Fixed issue125 * formed/discretion_statement.html: Replaced "Kompetenzagentur" with "Koordinierungsstelle". Added another field for parents to sign the statement. Fixed issue85 * formed/privacy_statement.html: Adjusted privacy statement. Fixed issue140 * waskaweb/controllers/caselifetime.py: Fixed spelling Fixed issue139 * waskaweb/controllers/caselifetime.py: Added missing copy of datfield into "erstgespraech" on "wiederaufnahme" 2009-03-31 Sascha L. Teichmann Fixed issue135 * waskaweb/model/phases_factory.py: 'Eingangs-dokumentation' -> 'Eingangs-dokumentation' 2009-03-30 Sascha L. Teichmann * waskaweb/model/exprtree.py: Re-enable print in out function. 2009-03-30 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Version 1.0-rc1 * waskaweb/model/exprtree.py, formed/formedtree_web.xml: New formedtree with more rules on datechacks. Fixed some small errors in rule evaluation. 2009-03-27 Sascha L. Teichmann * waskaweb/controllers/case_overview.py:set rendering for logbook and documents to false in parts selection of CSV export. * waskaweb/lib/csv.py: Only export master table. * waskaweb/templates/casemanagement/overview.mako: Reactive CSV export * waskaweb/templates/casemanagement/downloadCSV.mako: s/WASKA/WASKO/ 2009-03-27 Sascha L. Teichmann * waskaweb/controllers/caselifetime.py: outcomment debugging prints. 2009-03-27 Torsten Irlaender Changed fields which are copied on neuaufnahme and wiederaufnahme * waskaweb/controllers/caselifetime.py, waskaweb/controllers/case.py, formed/formedtree_web.xml: Changed list of fields. 2009-03-26 Sascha L. Teichmann * waskaweb/model/case.py: Do not use temporary file any more. * waskaweb/controllers/case_overview.py: set rendering for logbook and documents to false in parts selection of XLS export. * waskaweb/lib/excel.py: Rewrote it to scatter the master table to worksheets "Phase A", "Phase B" and "Phase C". * waskaweb/lib/renderer.py: Corrected rendering of conditionals * waskaweb/lib/exportselection.py: store projection of master table in parts selector. * waskaweb/templates/casemanagement/overview.mako: Reenable excel export. 2009-03-25 Torsten Irlaender * waskaweb/controllers/caselifetime.py, waskaweb/templates/caselifetime/overview.mako: Added new message to overview giving information why actions might not be available. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set Version to 0.7.2-preview 2009-03-24 Torsten Irlaender * waskaweb/model/datapage.py, waskaweb/model/casedocument.py, waskaweb/controllers/caselifetime.py, waskaweb/controllers/case.py: Some cleanup in code for "neuaufnahme". Additional fixes in pagesaving code. * waskaweb/controllers/caselifetime.py, waskaweb/lib/helpers.py: Added automatic calculation of second date for "wiederaufnahme" 2009-03-23 Torsten Irlaender Fixed issue93 * waskaweb/controllers/waska.py: Automatic reminders not rendered under own appointments anymore. Fixed issue113 * waskaweb/model/appointment.py: Need expicit cast to timestamp in SQL-query. 2009-03-21 Torsten Irlaender Fixed issue110 * waskaweb/templates/casemanagement/digest_body.mako formed/formedtree_web.xml: New formed with fixed rules and added street no to digest 2009-03-20 Sascha L. Teichmann * waskaweb/model/datapage.py: If a there are conditionals on the page only modify fields that are 'active' (container conditionals evaluate to true). * waskaweb/model/data.py: Added ConditionalWidgetCollector to allow collection of 'active' fields only. 2009-03-20 Sascha L. Teichmann * waskaweb/lib/renderer.py: Evaluate conditionals in a way not to destroy the layout. 2009-03-20 Torsten Irlaender Set version string to 0.7.1-preview * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string 2009-03-20 Sascha L. Teichmann * waskaweb/lib/renderer.py: Ported tab navigation index from offline client. 2009-03-20 Torsten Irlaender New formedtree for issue 107 * formed/formedtree_web.xml: new formed tree Fixed issue 105 * waskaweb/model/user.py: only show cm user for standin 2009-03-19 Sascha L. Teichmann * waskaweb/model/datapage.py: moved '-' -> '_' replacement to constructor. * waskaweb/model/casedocument.py: New methods to do a dry check against the defaults and store already converted and checked data without one more check. toErrorDicts() is now a method of DataSaveException * waskaweb/lib/helpers.py: removed toErrorDicts(). * waskaweb/controllers/caselifetime.py: replaced usage of toErrorDicts. * waskaweb/controllers/case.py: Added check of data validity _before_ creation of case. * waskaweb/templates/casemanagement/wiederaufnahme.mako: Fixed 'if' in error handling code. 2009-03-19 Sascha L. Teichmann * waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/casemanagement/neuaufnahme.mako, waskaweb/templates/casemanagement/wiederaufnahme.mako: Merged. 2009-03-19 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/neuaufnahme.mako, waskaweb/templates/casemanagement/wiederaufnahme.mako: Added new validator which checks "Keine Angabe". Further added error messages for invalid data when creating an new case. * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/dialogs/failed_create_case.mako: Added new error dialog if data can not be set in a fresh created case right aufter creating it. This might happen because the submitted data would result in an inconsistency. Unfortuantely we can check those inconsistency only after creating the case. So we do not take over the data in the new case and tell the user that he might to fill out the missing data afterwards. 2009-03-18 Sascha L. Teichmann * waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/casemanagement/neuaufnahme.mako waskaweb/templates/casemanagement/wiederaufnahme.mako: More HTML fixes. 2009-03-18 Sascha L. Teichmann * waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako: Fixed HTML. 2009-03-18 Sascha L. Teichmann * waskaweb/model/phases_factory.py: required fields that are on invisible pages (like einwilligung) are rendered on top of the phase link list with full description but with no link. 2009-03-18 Torsten Irlaender Added basic workflow for "wiederaufnahme"/"neuaufnahme" when creating a new case. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: New versionstrng * waskaweb/controllers/caselifetime.py, waskaweb/controllers/case.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/neuaufnahme.mako, waskaweb/templates/casemanagement/wiederaufnahme.mako: New workflow Added missing files * waskaweb/templates/caselifetime/dialogs waskaweb/templates/caselifetime/dialogs/confirm_reopen.mako waskaweb/templates/caselifetime/dialogs/success_reopen.mako waskaweb/templates/caselifetime/verlaengerung.mako 2009-03-18 Sascha L. Teichmann * waskaweb/model/case.py: Convert session case back to form data * waskaweb/controllers/case.py: Create new cases in actions for Wiederaufnahme and Neuaufnahme. 2009-03-18 Sascha L. Teichmann * waskaweb/controllers/case.py: render special templates if new case should be created as 'Wiederaufnahme' or 'Neuaufnahme'. * waskaweb/lib/validators.py: Added Aufnahmetyp to new form check * waskaweb/templates/casemanagement/new.mako: Added radio group to display the alternatives when creating a new case. * waskaweb/templates/casemanagement/neuaufnahme.mako: Template to fill extra parameters needed for Neuaufnahme. Still empty. * waskaweb/templates/casemanagement/wiederaufnahme.mako: Template to fill extra parameters needed for Neuaufnahme. Still empty. 2009-03-18 Sascha L. Teichmann * waskaweb/lib/renderer.py: Handle conditionals correctly. TODO: Solve layout issues. 2009-03-18 Torsten Irlaender Fixed coping of casedata * waskaweb/model/datapage.py, waskaweb/controllers/caselifetime.py: Fixed SQL Update query and typo in function call. Implemented copiing of case data on "Neuaufnahme" * waskaweb/controllers/caselifetime.py, waskaweb/templates/caselifetime/overview.mako: Implemented coping data, documentation of "nicht genehmigte Neuaufnahme" 2009-03-18 Sascha L. Teichmann * waskaweb/model/datapage.py: New class DataExtractor to extract data from a case. * waskaweb/controllers/caselifetime.py: added function to extract data from current case and filter of some black listed fields. 2009-03-18 Sascha L. Teichmann * waskaweb/model/data.py: forgot isInvisible/setInvisible methods. * waskaweb/controllers/CaseBase.py: construct FormDataImpl with reference to formed tree. needed for evaluation of conditionals. 2009-03-18 Torsten Irlaender Encoding fixes * waskaweb/controllers/caselifetime.py, waskaweb/templates/caselifetime/overview.mako: Fixed some encoding errors and other small changes. * waskaweb/templates/caselifetime/overview.mako: Fixed helpicons Added helptexts * formed/annotations.xhtml Fixed display of dates * waskaweb/controllers/caselifetime.py, waskaweb/lib/helpers.py, waskaweb/templates/caselifetime/overview.mako: Use dateconvert function from helpers to display the date in the correct format. Fixed adding of notes to "Anmerkungen Neuaufnahme/Wiederaufnahme" * waskaweb/controllers/caselifetime.py: Added checks if the field is inital empty Create Logbookentry when renew/reopen a case * waskaweb/controllers/caselifetime.py: create logbook entries 2009-03-17 Torsten Irlaender Last snapshot before rc-candidate * waskaweb/controllers/caselifetime.py, waskaweb/lib/validators.py, waskaweb/templates/caselifetime/overview.mako: "Neuaufnahme" and "Wiederaufnahme" should be basically working now. "Neuaufnahme" is not complete yet. Copying data from the old into the new case is still missing. Some spelling errors fixed. * waskaweb/controllers/caselifetime.py, waskaweb/templates/caselifetime/overview.mako: Fixed spelling errors and renamed "actionMist" controller. Set version string to preview-6. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set version string torsten@thoe:~/Intevation/Projekte/mpuls/s2c/wasko$ svn diff waskaweb/model/casedocument.py 2009-03-17 Sascha L. Teichmann * waskaweb/lib/helpers.py: new function toErrorDicts() which takes an error list from DataSaveException and returns a tuple (form_result, form_errors) suitable for formencode to refill the form. * waskaweb/model/casedocument.py: added method getDescription() to to return the description for a given widget name. If not found it returns the given name. * waskaweb/templates/caselifetime/overview.mako: use getDescription() to show the right description for a erroneous field. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Error are now report in form of lists of tuples (, , ). setData() has now a 'do_write' parameter (default: True). when set the data is written back to DB. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Fixed bug with rule evaluation in save data. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Fixed bugs with old values. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Write back the simulation results. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Do simulation and raise exceptions if rules are violated. TODO write back changes. 2009-03-17 Sascha L. Teichmann * waskaweb/model/datapage.py: Used cached rules from casedocument. * waskaweb/model/casedocument.py: Do type conversion. TODO: simulate to apply the converted data and write the if simulation has succeed. 2009-03-17 Torsten Irlaender Checkin Snapshot of "Wiederaufnahme", "Neuaufnahme" * waskaweb/controllers/caselifetime.py, waskaweb/lib/helpers.py, waskaweb/lib/validators.py, waskaweb/public/styles/color3.css, waskaweb/templates/caselifetime, waskaweb/templates/caselifetime/overview.mako, waskaweb/templates/casemanagement/main.mako, formed/formedtree_web.xml: Snapshot of the current state of "wiederaufnahme" implementation. 2009-03-17 Sascha L. Teichmann * waskaweb/model/casedocument.py: Added a setData() method. Not functional yet. 2009-03-16 Sascha L. Teichmann * waskaweb/model/exprtree.py: Forgot to call today with context. 2009-03-16 Sascha L. Teichmann * waskaweb/model/data.py: Added ConditionalNode. * waskaweb/model/casedocument.py: added eval logic for ConditionalNodes * waskaweb/model/io/document.py: Make conditionals loadable. * waskaweb/lib/renderer.py: render conditional. 2009-03-16 Sascha L. Teichmann * waskaweb/converter/wasko_v1v2.py: convert v1 nat_staat to v2 nat_staat. 2009-03-12 Sascha L. Teichmann * waskaweb/model/exprtree.py: New tree based implementation of the expression engine. The old stack based one is deprecated. Added a 'known' function to figure out if values are different from None and 'unknown' * waskaweb/model/__init__.py: Moved UNKNOWN_INT and UNKNOWN_DATE to module to prevent circular imports. * waskaweb/model/data.py: Use new tree based expression engine. * waskaweb/model/semantic.py, waskaweb/lib/renderer.py: Fixed import. 2009-03-12 Torsten Irlaender Fixed issue25 * waskaweb/templates/documents/upload_body.mako, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/global_upload.mako, waskaweb/model/document.py: Files will be overwritten if the user uploads a file with the same name. * waskaweb/model/exprtree.py waskaweb/model/__init__.py: Changed definition of new "known"-operator 2009-03-11 Sascha L. Teichmann * waskaweb/model/casedocument.py: generate HTML for links on phase page. * waskaweb/controllers/case.py: render global warnings on phase page. * waskaweb/templates/casemanagement/phase.mako: Added div for global warnings. 2009-03-11 Sascha L. Teichmann Added handling for error class 'notice' which is a kind of global warning. * waskaweb/model/datapage.py: Do not recognize 'notice' as errors * waskaweb/model/casedocument.py: recognize 'notice' as warning on page. * waskaweb/model/phases_factory.py: removed needless import. 2009-03-11 Sascha L. Teichmann Fixed issue86 * waskaweb/model/navigation.py: added generator function to list all headers for a tree item. * waskaweb/controllers/case.py: Put all headers above the form data on each page. 2009-03-11 Torsten Irlaender New annotations * formed/annotations.xhtml: Remvoved required tags from "sonstiges" fields in radiomatrix Fixed issue 91 * formed/annotations.xhtml, formed/formedtree_web.xml: Six more static fields under "5.2.1.5 Erfassung von Fehlzeiten" Fixed issue94, Fixed issue93 * waskaweb/templates/appointments/edit_body.mako, waskaweb/templates/start/start.mako, waskaweb/templates/casemanagement/showAppointment.mako: Caseappointmnts are now shown on the blackboard again. Furter the creation of reminders was fixed. Fixed remaining error of hasRole-call * waskaweb/controllers/case_overview.py, waskaweb/templates/appointments/show.mako, waskaweb/templates/appointments/remindlist_body.mako, waskaweb/templates/casemanagement/caselist.mako: hasRole expects a list as parameter and not a string. Fixed rendering of legend under radiomatrix elements. * waskaweb/public/styles/all.css: Changed layout. Top border does not break anymore when legend is a moreliner. Fixed issue96 * formed/formedtree_web.xml: Added warning when user sets "geschlecht" to "unbekannt" Fixed issue98 * formed/formedtree_web.xml: set maxvalue of "Anzahl fehlstunden Jahr" to 8760 (24*365) Fixed issue89 * formed/formedtree_web.xml: Changed section "staatbügerschaft" 2009-03-10 Sascha L. Teichmann * waskaweb/lib/xmlhelper.py: Replaced usage of datetime.strptime() with a Python 2.4 equivalent function. This prevented import of dates in logbook entries. 2009-03-10 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/model/phases_factory.py, waskaweb/model/case.py, waskaweb/public/styles/all.css, waskaweb/templates/logbook/show.mako, waskaweb/templates/start/start.mako, waskaweb/templates/casemanagement/digest_body.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako, formed/formedtree_web.xml: First part of fixes and enhancements. Fixed layout of radiomatrixlists, emailadresses and labels in digest etc. 2009-03-10 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed versionstring to 0.5-preview 2009-03-10 Sascha L. Teichmann * waskaweb/model/casexml.py: Forget code path in refactoring for converter plug-in. 2009-03-10 Torsten Irlaender Fixed rendering of useroverview * waskaweb/templates/administration/overview_user.mako: Fixed setting of "cm" and "admin" icons. Added new versions of formed an external choice lists. * formed/staatsangehoerigkeit.xml, formed/formedtree_web.xml, formed/laender.xml: New versions. Fixed addition in imoprt converter * waskaweb/converter/wasko_v1v2.py: Fixed addition. 2009-03-09 Torsten Irlaender Set Version String to 0.4-preview * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string 2009-03-09 Sascha L. Teichmann * waskaweb/model/casexml.py: lower case uuids. 2009-03-09 Sascha L. Teichmann * waskaweb/model/casexml.py, waskaweb/converter/wasko_v1v2.py: Handle import of multiple cases more gently. 2009-03-09 Sascha L. Teichmann * waskaweb/model/casexml.py: Added converter plug-in logic from Offline Client. * waskaweb/controllers/case.py: call XML import with v1 -> v2 converter. * waskaweb/converter/wasko_v1v2.py: New. Converts v1 to v2 XML documents during import. 2009-03-09 Torsten Irlaender * formed/privacy_statement.html: Replaced "Kompetenzagentur" with "Koordinierungsstelle" * formed/annotations.xhtml: Added helptexts. * waskaweb/model/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/digest_body.mako: Adjusted digest for WASKO Adopted code to changed rolenames (admin_ka -> admin etc.) * waskaweb/model/user.py, waskaweb/lib/helpers.py, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/new_user.mako: Adopted code to changed rolenames. 2009-03-06 Torsten Irlaender Fixed issue79 * waskaweb/templates/start/start.mako: Changed "Einrichtungstermine" to "Einrichtungsweite Termine" Created nonfunctional static preview of some additionl functionality in the case management process. * waskaweb/templates/casemanagement/phase.mako: Added a new area for management functions on the phases page Changed naming in effort evaluation of the logbook * waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako: Changed "Sonstiges" to "Sonstige Angaben" and "Fallkonferenz" to "Förder- und Fallkonferenz" 2009-03-05 Torsten Irlaender Tagged Version 0.3-preview * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string 2009-03-05 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Set version of XML files to 2 * waskaweb/templates/casemanagement/downloadXML.mako: If more than one case is selected for export add hint that doing so will result in files which are not able to be processed by the Offline Client. 2009-03-05 Torsten Irlaender * waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/selectParts.mako: Set margin of checkboxes to labels 2009-03-05 Sascha L. Teichmann * waskaweb/lib/validators.py: Fixed formencode validators. * waskaweb/lib/exportselection.py: fixed syntax typo. * waskaweb/templates/casemanagement/selectParts.mako: Fixed list. 2009-03-05 Sascha L. Teichmann * waskaweb/lib/validators.py: set validators for new fields. * waskaweb/lib/exportselection.py: Evaluate selective export. * waskaweb/templates/casemanagement/selectParts.mako: generated a new list of items to select for export. * waskaweb/templates/casemanagement/overview.mako: enable XML export. 2009-03-05 Sascha L. Teichmann * waskaweb/lib/xmlexport.py, waskaweb/lib/exportselection.py: Some adjustments logbook & document structure. 2009-03-04 Sascha L. Teichmann * waskaweb/model/casexml.py: Raise XMLImportException when an expected error occurs. Created new error dialog for the xml import * model/casexml.py, controllers/case.py, templates/casemanagement/dialogs/failed_xml_import2.mako: If where are inconsistencys in the xml while importing the import will fail and the user will see a detailed error message on which inkonsistencys are in the case. * controllers/case.py, templates/casemanagement/dialogs/failed_xml_import2.mako: Changed error and success dialogs: Messages are now for imports of only one singe case. 2009-03-04 Torsten Irlaender Store full username in logboook instead of user id * waskaweb/model/logbook.py: Do not update editor when saving a logbook. 2009-03-04 Sascha L. Teichmann * waskaweb/model/casexml.py: Store logbook entries to data base. 2009-03-04 Sascha L. Teichmann * waskaweb/model/casexml.py: Fixed unicode problem and removed debug output. 2009-03-04 Sascha L. Teichmann Store cases to data base. This is an intermediate commit suffering from UnicodeDecodeErrors (Python's unicode support really s*cks). * waskaweb/model/nodecomponents.py: Backported default values support from Offline Client. * waskaweb/model/casedocument.py: Cache defaults per widget after FormEd construction. * waskaweb/model/io/factories.py, waskaweb/model/io/document.py, waskaweb/model/data.py: Backported relative path loading for ExternalChoiceNodes from Offline Client. * waskaweb/lib/app_globals.py: Prefetching the external choice is not longer needed because loading is now handled by the external choice lists themself. * waskaweb/model/casexml.py: Store cases to database. Logbook storage still missing. Debug output is left in because this is work in progress. * waskaweb/lib/helpers.py, waskaweb/lib/xmlhelper.py: Some whitespace cleanup 2009-03-03 Torsten Irlaender Fixed check for inkonsistency before anonymization * waskaweb/model/case.py: Added missing import of RequiredFields Fixed search (phases) * waskaweb/templates/casemanagement/search.mako, * waskaweb/controllers/case_overview.py: Changed labeling of phases in search Reactivated checks if a case is older than maxsavetime * waskaweb/model/appointment.py, waskaweb/model/case.py, waskaweb/controllers/waska.py, waskaweb/templates/casemanagement/digest_body.mako: Mainly uncommented code and adopted checks if a case is finished to the phases model 2009-03-03 Sascha L. Teichmann Initial code to import XML documents. Parses the documents correctly but does not write it to the database. TODO: Apply rules to loaded cases to check for inconsistencies. * waskaweb/model/casexml.py: New. Parses incoming XML files. * waskaweb/controllers/case.py: Use new XML import model. * waskaweb/lib/xmlimport.py: Removed WASKA dictionaries. !!!This module is deprecated now!!! * waskaweb/lib/xmlhelper.py: New. From Offline Client. Various functions to make parsing the XML documents easier. * waskaweb/lib/uuid.py: New. Fake UUID lib because Python 2.4 lacks that library. * waskaweb/templates/main.mako: Enable XML import again. 2009-02-27 Sascha L. Teichmann * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as '0.2-preview' 2009-02-27 Sascha L. Teichmann * waskaweb/lib/helpers.py: New function space_short(s, n). Shorten a string to n characters, but if the last char of the shortend string is a none white space (= in the mid of a word) the sting is extended to the next white space. Shortend strings are postfixed with '...'. * waskaweb/model/phases_factory.py: Use space_short() to cut down the length of the descriptions of the listed variables. The full description is given as a link title. 2009-02-27 Sascha L. Teichmann * waskaweb/model/navigation.py: Fixed bug when rendering navigation with errors. All branches of the case where open and uncloseable. Only the branches with error should show this behavior. 2009-02-26 Sascha L. Teichmann Increased the usability of the phase overview page. * waskaweb/model/phases_factory.py: If the number of missing fields in a phase are less than six, now direct links into the case are generated. Reduce the use of color red, emphasize page names, short long item descriptions to length of 15 and render more descriptive title for the links. * waskaweb/controllers/case.py: link generator callback now allows trailing text to be able to render '#' offsets in page. * waskaweb/public/styles/color3.css: Made .require_field a general class. 2009-02-26 Sascha L. Teichmann * waskaweb/model/phases_factory.py: Fixed one code path the inverts the results of rule evaluation leading to wrong list of missing fields. Left debug code in. (commented out) 2009-02-26 Torsten Irlaender * waskaweb/public/styles/color3.css: Rows of Radiomatrix are now rendered with altering background. * waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/digest_body.mako: Fixed broken rendering of formular pages in IE7. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/case.py: Fixed Update of infofield. Renamed label in infofield 2009-02-25 Sascha L. Teichmann * waskaweb/model/phases_factory.py: Fixed problem with access to var cache. 2009-02-25 Torsten Irlaender Changed Version String to 0.1-preview * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string 2009-02-25 Sascha L. Teichmann Fixed printing a bit. * waskaweb/model/navigation.py: Exchanged getAllItems() with new code. * waskaweb/model/datapage.py: Log tracebacks if SELECT execution failed. * waskaweb/controllers/case.py: repaired call to _getRenderdFormElements(). Set None fake c.page_id for printing * waskaweb/lib/helpers.py: Make header/error helpers more robust against None references. 2009-02-25 Sascha L. Teichmann * waskaweb/model/phases_factory.py: Render number of missing fields for phases in phase overview. * waskaweb/templates/casemanagement/phase.mako: Removed isYoungerThan() from phase activation. 2009-02-25 Sascha L. Teichmann * waskaweb/model/casedocument.py: Suppress traceback output if rule evalution fails. Fixed problem with missing dates in phase overview. * waskaweb/model/phases_factory.py: Repair several small issue with rule evaluation. Do some more caching to prevent redundant rule evaluations. Repaired links to missing fields. Generate links to already filled pages. 2009-02-25 Torsten Irlaender Modified logbook * waskaweb/model/logbook.py, waskaweb/templates/logbook/edit_body.mako, formed/formedtree_web.xml: Renamed sections to fit customers wishes. 2009-02-25 Sascha L. Teichmann Rewrite of the phase transition checking model. It does not rely on SQL any more and it is more consistent because of evaluating the rules of the required fields. Phase transition should only be possible if there are no contradictions in the data model. XXX: It still does not work correctly. * waskaweb/model/casedocument.py: Build more look-ups at FormEd tree loading because traversing the tree over and over again to filter out the rules is not very efficent. * waskaweb/model/phases_factory.py: Removed old SQL stuff and applies checking the rules to figure out if a case is consistent. * waskaweb/model/case.py: Uses new model now. Removed some _very_ cruel code which misused the search engine to figure out if a case is consistent. * waskaweb/controllers/case.py: Use new model now. * waskaweb/lib/search.py: Removed some ugly code for checking phases. This lib needs a complete replacement! 2009-02-24 Sascha L. Teichmann * waskaweb/lib/renderer.py: Fixed quoting in HTML attributes. This was broken for a very long time. Urgent TODO: WASKA and the Offline Client need this fix, too! 2009-02-24 Sascha L. Teichmann * waskaweb/lib/renderer.py: In read only mode render radio bools in radio matrices with disabled flag. Do not give them id to cure the generated HTML. 2009-02-24 Torsten Irlaender New Styles for radio-matrix * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/public/styles/color3.css: New style for radio matrix. Fixed width of formular headers. New formedtree and annotations * formed/annotations.xhtml, formed/formedtree_web.xml: Added new field for start "Nachbetreuung" 2009-02-23 Sascha L. Teichmann * waskaweb/model/casedocument.py: if getData is called with only one argument the needed case id is fetched from session. 2009-02-23 Sascha L. Teichmann * waskaweb/model/datapage.py: Access depending vars in expression thru thread local page cache. 2009-02-23 Sascha L. Teichmann Make warning mechanism wor on pages. * waskaweb/model/casedocument.py: Fixed problem with accessing pages. * waskaweb/model/io/document.py: allow loading douments with user defined documents. * waskaweb/model/io/factories.py: remove hard wired loading of case documents. * waskaweb/lib/app_globals.py: Special factory for case documents. 2009-02-23 Torsten Irlaender Fixed issue36 (WASKO-Online) * waskaweb/model/logbook.py, waskaweb/lib/evaluation.py, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako: Added new logbookentries. Adopted evaluation. Fixed Warningsrendering * waskaweb/model/navigation.py, waskaweb/controllers/CaseBase.py, waskaweb/lib/helpers.py, waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/templates/casemanagement/formular.mako: Markers for warnings are now rendered in the formular. Warning and error list at top of the page is rendered correctly too. 2009-02-23 Sascha L. Teichmann Added the beloved JavaScript modified field checks to renderer and navigation. * waskaweb/model/navigation.py: added 'onclick="return checkModification();"' to links. * waskaweb/lib/renderer.py: Added 'onchange="setModification();"' to widgets. 2009-02-23 Sascha L. Teichmann * waskaweb/lib/helpers.py: Fixed bad commit. 2009-02-22 Sascha L. Teichmann Make "Speichern und Weiter" work again. * waskaweb/templates/main.mako: Fixed span tag in status field. WASKO may need that fix, too. * waskaweb/templates/casemanagement/formular.mako: removed 'A' in HTML output. * waskaweb/lib/renderer.py: Fixed submit tag in form. * waskaweb/lib/helpers.py: new helper for figure out if there are errors on page. * waskaweb/controllers/case.py: Make "Speichern und weiter" work again. * waskaweb/model/navigation.py: removed needless code and chain pages to make it easier to find next page. * 2009-02-22 Sascha L. Teichmann * waskaweb/model/navigation.py: Fixed HTML rendering bug. TODO: Offline client needs this fix, too. 2009-02-22 Sascha L. Teichmann Support invisible pages. * waskaweb/model/data.py: PageNode object now support the attribiute "invisible". * waskaweb/model/navigation.py: Leave out pages in tree buildung which are invisible. * waskaweb/model/data.py: Mark first page invisible. TODO: This feature has to be ported back to the FormEd editor or this change is lost! 2009-02-22 Sascha L. Teichmann More changes backported from offline client. * waskaweb/model/navigation.py: Behavior should now be nearly identical to offline client. * waskaweb/config/routing.py: Added a few routes to find the controllers in navigation. * waskaweb/controllers/navigation.py: New navigation from offline client. Old toggle stuff removed. * waskaweb/controllers/CaseBase.py: Moved some common code of navigation and case controller into base class, mainly show(), edit() and select_item(). show() and edit() are considered deprecated because the current mode is fetched from session anyway. edit/show are left in by now because there many places from where they are called directly. * waskaweb/controllers/case.py: Removed more old special code. Implemented the undo error function. * waskaweb/controllers/rg_aid.py: fixed some naming issues. This controller should be removed anyway. * waskaweb/lib/helpers.py: fixed naming issues. Generating of form headers is now done with the new navigation. * waskaweb/lib/renderer.py: Replaced javascript from offline client to call undo with a valid call to case controller. * waskaweb/public/images/icons/undo.png: New. Image for undo function. * waskaweb/templates/casemanagement/formular.mako: Fixed helpers call to render form headers. 2009-02-20 Sascha L. Teichmann Bring new error system to work. * waskaweb/lib/db.py, waskaweb/lib/base.py: Removed needless import. * waskaweb/templates/casemanagement/formular.mako: Use new ErrorRenderer to render errors and warnings on page. * waskaweb/lib/helpers.py: New helper function to call ErrorRenderer to display the errors. * waskaweb/controllers/case.py: New select_item method for navigation. Removed some 'page in [list]' code. * waskaweb/controllers/CaseBase.py: use the select_item method instead of edit/show. * waskaweb/model/expr.py: Upstream expression engine from offline client supporting the 'isset' function. * waskaweb/model/casedocument.py: Implemented a caching mechanism to allow case wide access to variables not only on page. * waskaweb/model/data.py: Enable marks in RuleLeafs. * waskaweb/model/datapage.py: Ported some enhancements from data model of the Offline Client. Fixed problems with errors which weren't descripted correctly. * waskaweb/model/semantic.py: Upstream version of Offline Client. Enables usage of 'unbekannt' in dates and integers. * waskaweb/model/navigation.py: Some more tweaks on its stony way to the much better version of the Offline Client. It is still broken. :-( 2009-02-20 Torsten Irlaender Changed labeling of "Agentur" to "Einrichtung" * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/start/start.mako, waskaweb/templates/casemanagement/agency_overview.mako: Changed labels Changed labeling of "Kompetenzagentur" to "Einrichtung" * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/main_help.mako, waskaweb/templates/start/start.mako, waskaweb/templates/login.mako, waskaweb/templates/main_login.mako, waskaweb/templates/main.mako: Changed labeling of "Kompetenzagentur" to "Einrichtung" Removed old files from beta phase * waskaweb/templates/appointments/beta, waskaweb/templates/appointments/beta/show_1.mako, waskaweb/templates/appointments/beta/show_10.mako, waskaweb/templates/appointments/beta/show_2.mako, waskaweb/templates/appointments/beta/show_3.mako, waskaweb/templates/appointments/beta/show_4.mako, waskaweb/templates/appointments/beta/show_5.mako, waskaweb/templates/appointments/beta/show_6.mako, waskaweb/templates/appointments/beta/show_7.mako, waskaweb/templates/appointments/beta/show_8.mako, waskaweb/templates/appointments/beta/show_9.mako: Deleted. 2009-02-19 Sascha L. Teichmann Cache pages on request base to make global value analysis more efficient. Which is particular import for the phase checking stuff. * waskaweb/lib/security.py: Print traces to stderr instead to stdout * waskaweb/model/casedocument.py: Use a thread local cache to store pages of current document. * waskaweb/lib/base.py: Added enter/leave code for the page cache. 2009-02-19 Torsten Irlaender First adoption of the adele evaluation for WASKO. * waskaweb/lib/adelexml.py: Changed fieldnames. Still missing some evaluations as it is not clear yet how to evaluate all fields. Added explicit casts in date comparisons * waskaweb/model/appointment.py, waskaweb/lib/search.py, waskaweb/lib/security.py, waskaweb/lib/evaluation.py: Postgres 8.3 needs explicit casts when comparing date-strings with dates. Conditional cast of dates on checking default values in phase * waskaweb/model/phases_factory.py: SQL query is selected depending on type of the checkes field. Commented out some functions which will not be functional for the WASKO prototype: * waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Commented out options and links Removed special code from WASKA for handling RG in printing * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py: Removed special code. Migrated search from WASKA * waskaweb/lib/search.py, waskaweb/templates/casemanagement/search.mako: Changed some fieldnames * waskaweb/lib/evaluation_new.py: flipped index of men and women as it differs from WASKA Adopted help- und responsible page for WASKO * waskaweb/templates/start/responsible.mako, waskaweb/templates/start/help.mako: Mainly replaced WASKA with WASKO and commented some phrase which seems not to be needed in WASKO. 2009-02-17 Torsten Irlaender Use Widgetcollector from offlineclient * waskaweb/model/nodecomponents.py, waskaweb/model/data.py, waskaweb/model/phases_factory.py: Ported use of Widgetcollector from the offlineclient. It is now uses to select aal widgets when checking the phases. New Formedtree * waskaweb/model/phase_transition.py, waskaweb/model/phases_factory.py, formed/formedtree_web.xml: Required fields are now defined for start and end part of the phases 2009-02-16 Torsten Irlaender Implemented renderer and help-handling from the offline client * waskaweb/model/annotations.py, waskaweb/model/semantic.py, waskaweb/lib/app_globals.py, formed/annotations.xhtml: New. Cominded Handling of help, and annotations. Ported from offline client * waskaweb/model/datapage.py, waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/lib/helpers.py, waskaweb/lib/renderer.py, waskaweb/lib/filecache.py, waskaweb/templates/main.mako: Ported pagerendering from offlineclient (radio-matrix-support) to the webclient from the offline client. * waskaweb/lib/formular_help.py: Deleted 2009-02-13 Torsten Irlaender * waskaweb/templates/main.mako: Changed pagetitle to WASKO 2009-02-11 Sascha L. Teichmann * waskaweb/model/navigation.py: removed needless prints * waskaweb/model/datapage.py: replaced '-' by '_' in relation names. 2009-02-11 Sascha L. Teichmann Initial rebuild of the navigation. * waskaweb/model/navigation.py: Build navigation tree from formed tree. * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py: Removed some special WASKA code. 2009-02-11 Torsten Irlaender Make creation of cases work * formed/privacy_statement.html, waskaweb/model/statement.py: Added STRASSENR keyword for substitution. * waskaweb/model/case.py: Load strassenr additionally when loading a case. Modified createNew Function. It now takes an additional param with the values from the new case form. The case will then be initialised on creation. * waskaweb/controllers/case.py, waskaweb/lib/validators.py: Cleanup. Removed old code where the case data was set with the page data mechanism. * waskaweb/templates/casemanagement/new.mako: Added new field for strassenr. 2009-02-11 Sascha L. Teichmann * waskaweb/model/data.py: Little workaround to get after case creation. 2009-02-10 Torsten Irlaender Disabled Checks for inkonsistency and old cases. * waskaweb/model/appointment.py, waskaweb/controllers/waska.py, waskaweb/templates/start/start.mako: Commented out inconsistency checks and search for old cases. TODO: Reactivate search for old cases. Needs a database update and a genral check if the function is working as expected. (e.g cm_end_art <> 1) First adoption for the casesearch * waskaweb/controllers/case_overview.py, waskaweb/lib/search.py: Changed search query to new dbfieldnames. Works now for basc querys (no extra options selected) Further adoptions to make the creation of new cases almost work: * model/nodecomponents.py, model/data.py, model/case.py, model/io/document.py: Added CaseNode and LogbookNode. * model/statement.py, controllers/waska.py, controllers/case.py, lib/search.py, templates/casemanagement/digest_body.mako: Adopted more fieldnames in DB-Querys. * formed/formedtree_web.xml: New formedtree. 2009-02-09 Torsten Irlaender Merged changes from Version 1.5.0 2009-02-05 Torsten Irlaender Removed some evalautions as they are not relevant yet. * waskaweb/lib/adelexml.py: removed some evaluations 2009-02-05 Torsten Irlaender Fixed issue 708: * templates/casemanagement/search.mako: Changed description in selectfield to "Eingangsanamnese" Fixed issue 639: * waskaweb/model/navigation.py: Fixed Next-Key in the navigation. Set version string to 1.5.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Modfied version string Fixed Issue 662: * waskaweb/controllers/administration.py: Changed ordering of first and lastname Completed adele evaluation * waskaweb/controllers/evaluate.py: Fixed timeframe * waskaweb/lib/adelexml.py: Added descritpions and headers * waskaweb/lib/evaluation.py: Fixed generation of where clauses * waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako, waskaweb/templates/main.mako: Renamed "quartalsbericht" to Zwischenbericht. Fixed issue 722 * waskaweb/lib/search.py: Chaged definition of the timeframe in search strings. Fixed issue 726 * waskaweb/controllers/evaluate.py, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Removed again old version of WASKA-Stammblatt evaluation Small typo changes: * i18n/de/LC_MESSAGES/waskaweb.po, templates/casemanagement/evaluation/evaluation_avg_effort.mako: Fixed numbering in evaluation headers 2009-02-04 Torsten Irlaender Added new evalution adele stammblatt. * waskaweb/controllers/evaluate.py, waskaweb/lib/adelexml.py, waskaweb/lib/helpers.py, waskaweb/lib/evaluation_new.py, waskaweb/templates/casemanagement/evaluation/evaluation_adele.mako, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/main.mako: The evaluations is hardcoded and is based on the new mpuls implementation. So do not extect a well integrated evulation. 2009-01-09 Torsten Irlaender Added new favicon * waskaweb/public/images/kompetenz3.ico: New facicon for s2c * waskaweb/templates/main_help.mako, waskaweb/templates/main_login.mako: Added favicon to page (was missing) 2009-01-08 Torsten Irlaender First adoptions to a new look and feel for WASKO * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/lib/renderer.py, waskaweb/public/servicezeit.html, waskaweb/public/styles/screen.css, waskaweb/public/styles/color3.css, waskaweb/public/images/arrow.gif, waskaweb/public/images/logo_ka_75.png, waskaweb/templates/main_help.mako, waskaweb/templates/main_login.mako, waskaweb/templates/main.mako: First changes to a new look and feel for the WASKO Projekt. Adopted some texts and changed some color in stylesheet. 2009-01-07 Torsten Irlaender Fork Version 1.4.2 for WASKO 2009-01-05 Torsten Irlaender 1.4.2 Release * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed Versionstring to 1.4.2 * Changes.txt: Added Changed for Version 1.4.2 2008-12-08 Torsten Irlaender Fixed issue663 * waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Changed labeling of the evaluation Issue651 * waskaweb/lib/security.py: Be a littlebit more verbose if no mapping file is found or something while reading it goes wrong. 2008-12-05 Torsten Irlaender Fixed issue681 * waskaweb/model/case.py, waskaweb/controllers/case.py: Added checks for inconsistencys and adjusted error message 2008-12-04 Frank Koormann * waskaweb/controllers/case.py (CaseController.organisation): Bugfix: Editors ID was added to groupfilter list instead of GroupID. Since both can differ, some other user (groups) were dropped from the selection lists under certain situations (GID == Editor's UID). 2008-11-25 Torsten Irlaender Fixed issue671 * waskaweb/controllers/case_overview.py: Fixed call of nonexistent function. 2008-11-14 Torsten Irlaender Fixed issue652 * waskaweb/model/news.py, waskaweb/model/user.py, waskaweb/controllers/waska.py, waskaweb/templates/start/newslist.mako: News now stay on blackboard until they get deleted by the user. Actually the are marked as read and therefor not shown anymore. TODO: Handle how news get show for fresh created user. 2008-11-14 Sascha L. Teichmann * waskaweb/lib/app_globals.py: looking for a 'db_mapping_file' entry in config. If found try to load db name remapping. Format: # comment new-name;old-name * waskaweb/lib/security.py: added function to load mapping from file. 2008-11-12 Torsten Irlaender Fixed issue645 * waskaweb/controllers/waska.py: Do not check inkonsistency on evaluation server. 2008-11-03 Torsten Irlaender Commented out evaluation of ESF Stammblatt. * waskaweb/controllers/evaluate.py, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Because currently the specifications for this evaluation are not confirmed this function will be commented out for 1.4.1 release. Set date in Versionstring 1.4.1 and updated Changes * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: changed date * ChangeLog.txt: updated changes 2008-10-30 Sascha L. Teichmann Removed PDF import. * waskaweb/lib/pdfimporter.py: Deleted, no longer required. * waskaweb/model/case.py: Removed call to pdfimporter * waskaweb/controllers/case.py: Removed controller to handle imports. * waskaweb/lib/app_globals.py: Removed configuration for pdf2xfa * waskaweb/templates/casemanagement/upload.mako: Removed GUI for PDF import. 2008-10-24 Torsten Irlaender Fixed issue 618 * waskaweb/lib/evaluation.py: Fixed evalution query. Enhancement to issue518 * waskaweb/lib/validators.py: fixed regular expression in formencode validators * waskaweb/controllers/case.py: code formatting issue. 2008-10-23 Sascha L. Teichmann Another fix for issue518 * waskaweb/lib/helpers.py: Catch ValueError when a bad date (22.22.2008) is given. 2008-10-23 Torsten Irlaender Fixed issue591 * waskaweb/lib/evaluation.py: Fixed error of counting unique cases which are taken as base for the evaluation. 2008-10-22 Sascha L. Teichmann Fixed issue518 * waskaweb/lib/helpers.py: Use correct regular expression for date validation now. 2008-10-21 Torsten Irlaender Fixed issue542 * waskaweb/model/logbook.py: Fixed typo in logbookentry listing 2008-10-20 Torsten Irlaender Fixed issue562 * templates/casemanagement/phase.mako: Gray out active phase 2008-10-10 Sascha L. Teichmann Fixed issue184 * waskaweb/controllers/evaluate.py: raise 404 if evaluation is not found. 2008-10-10 Sascha L. Teichmann * waskaweb/templates/start/responsible.mako: removed invalid statemnent about 'TÜV-Plakette', spelled 'Datenschutz cert GmbH' correctly and inserted Intevation GmbH as responsible for maintenance. 2008-09-26 Torsten Irlaender Completed ESF-Stammblatt evaluation. Small fix on evaluation * waskaweb/lib/evaluation.py: Fixed false counting * waskaweb/templates/casemanagement/evaluation/evaluation_esfstammblatt.mako: Added missing template. Set version string to 1.4.1 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string. * Changes.txt: Added changes to version 1.4.1 Hotfix for Traceback on Anonymisation * waskaweb/model/case.py: Renamed method. 2008-09-25 Sascha L. Teichmann * waskaweb/controllers/agency_overview.py: Link back to download was wrong which resulted in unathorized errors. 2008-09-25 Sascha L. Teichmann Fixed issue577 * waskaweb/lib/validators.py: There was no validator for 'Einschaetzung des Case-Managers'. 2008-09-25 Torsten Irlaender Moved evaluation of "verweildauer" to category for finished cases. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/evaluate.py, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Mainly adjusted translation strings. Moved evaluation block to another template adjusted controller code. 2008-09-25 Sascha L. Teichmann Fixed issue 574 * waskaweb/controllers/agency_overview.py: Rewired link paths. They are not equal to the ones in case overview! TODO: This should be harmonized. Data on evaluation server is alway anonymized so there is no need to do it again. 2008-09-25 Sascha L. Teichmann Fixed issue575 * waskaweb/controllers/agency_overview.py: Rewired link paths. They are not equal to the ones in case overview! TODO: This should be harmonized. 2008-09-25 Sascha L. Teichmann * waskaweb/controllers/waska.py, waskaweb/lib/base.py: make question if server is evaluation server more robust. Now it's not mandatory any more to set evaluation_server in *.ini. It defaults to '0'. 2008-09-24 Torsten Irlaender Added new evaluation for ESF-Stammblatt. Fix for issue572 * waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: New evaluations are currentely commented out, as they need some work. Implemented evalaution "esf-stammblatt" * i18n/waskaweb.pot, i18n/de/LC_MESSAGES/waskaweb.po, controllers/evaluate.py, lib/evaluation.py, templates/casemanagement/evaluation/evaluation_navigation.mako, templates/casemanagement/evaluation/evaluation_result_2.mako: Implemented missing subevalutions and finished export. Fixed small error on esf-stammblatt evaluation and set version to 1.4.1 rc1 * i18n/de/LC_MESSAGES/waskaweb.po: Versionstring change * lib/evaluation.py: Fix calculation of percents 2008-09-23 Torsten Irlaender Added two new evaluations * waskaweb/i18n/waskaweb.pot, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Added two new evaluations on unemployment over kids in case-management. Added helptext for one evaluation * waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, formed/waska-hilfetexte.xhtml: Added new helptexts Fixed issue571 * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/search.mako: Search was broken in connection with new search options on phases. If no phase was given the search string includes a whitespace with results in an empty result list for a search. 2008-09-22 Torsten Irlaender Set Version number to 1.4.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version number. * Changes: Updates changes Fixed error on updateing first_meeting date * waskaweb/controllers/case.py: Save date as dateobject in the session. 2008-09-19 Sascha L. Teichmann Fixed issue567 * waskaweb/templates/casemanagement/agency_search.mako, waskaweb/templates/casemanagement/search.mako: Changed "Intersexuel" to "Intersexuell". 2008-09-19 Sascha L. Teichmann Fixed issue568 * waskaweb/templates/casemanagement/phase.mako: Only enable change buttons for cm_kas. 2008-09-19 Sascha L. Teichmann Fixed issue565 * waskaweb/controllers/case.py: fetch "Erstgespraech" and "Kundennummer" from the FormEd data page which always contains the valid values. 2008-09-19 Sascha L. Teichmann Fixed issue563 * waskaweb/templates/casemanagement/evaluation/evaluation_avg_effort.mako waskaweb/model/logbook.py, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako: "Arbeit mit den Ditten" -> "Arbeit mit Dritten" 2008-09-19 Torsten Irlaender QA, small fixes. * waskaweb/controllers/waska.py: Fixed counting number of inconsitent cases. * waskaweb/lib/evaluation.py: Do not do "inconsistency" checks in evaluation. Only look on phases. * waskaweb/templates/casemanagement/listbadcases.mako: Renamed phase "clearing" to "Eingangsanamnese". * waskaweb/templates/usersettings/change_password.mako: Layout fix issue564 Adjusted info and login page * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/start/responsible.mako: Changed texts on login and infopage * waskaweb/public/images/logo__esf__klein.jpg, waskaweb/public/images/datenschutz_nord.jpg: New logos 2008-09-18 Sascha L. Teichmann * waskaweb/lib/evaluation.py: Fixed SQL typo, which caused error when clicking on "Auswertungen 4.1. Zeitaufwände" 2008-09-18 Sascha L. Teichmann * waskaweb/templates/casemanagement/phase.mako, waskaweb/controllers/case.py: Renamed isOlderThan() to isYoungerThan() because of inverted usage. * waskaweb/model/case.py: Fixed problem witch are too old for phase model. 2008-09-18 Torsten Irlaender Fixed phases in evaluation * waskaweb/lib/evaluation.py: Changed phases indication cm-cases and informational cases. 2008-09-17 Torsten Irlaender Modified checks on determining if a case can be anonymized * waskaweb/model/case.py, waskaweb/controllers/case.py: A case can now be only anonymized if the current und prior phases are completed and all required fields are present (feedback gsub) Further fixes for feedback for 1.4.0 release. * waskaweb/model/phases_factory.py: Fixed encoding * waskaweb/controllers/waska.py: Fixed summing of inconsistent cases Layoutchanges in "Weiterer Verlauf" * formed/formedtree_web.xml 2008-09-16 Torsten Irlaender Changed date limit for inconsistency checks to '31.08.2008' * waskaweb/lib/search.py: Changed date. Small layout and text changes. Changed version string to 1.4.0 rc2 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string And text changes. * waskaweb/model/phases_factory.py, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/phase.mako: Small layout changes on phase page. Changed description of phase "Clearing" to "Eingangsanamnese" * waskaweb/model/phase_transition.py, waskaweb/model/phases_factory.py, waskaweb/lib/evaluation.py: Changed naming 2008-09-15 Torsten Irlaender Added support for displaying only relevant phases (commented out yet). * waskaweb/model/phases_factory.py, waskaweb/model/phase_transition.py, waskaweb/model/phases.py: Only phases are displayed which are on the path of the current phase. E.g if this is a CM case the "beratung" will not be displayed. Changed Version string to 1.4.0 rc1 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po Implemented ignoring consistency checks for cases before a the 01.09.2008 * waskaweb/model/phases_factory.py, waskaweb/model/case.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/waska.py, waskaweb/controllers/case.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/phase.mako: Date of "erstgespräch" is loaded on creating a new case obejct. This date is then used for for determining if a case should be included in inconsistency checks. Small layout fixes for IE * waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/phase.mako: Fixed Layout of phases page for IE. 2008-09-15 Sascha L. Teichmann * waskaweb/lib/security.py: Clean up usage db connection pool during login. Issue COMMIT after update last login time. Hopefully this solves the problem of the none persistent last login time. 2008-09-12 Torsten Irlaender Changed version string to 1.4.0 preview 2 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string 2008-09-12 Sascha L. Teichmann Added GUI support for selective CV export. TODO: Support evaluation server, too. * waskaweb/lib/csv.py: Fixed bug if not exporting 'unterstuetzungsangebote' * waskaweb/controllers/case_overview.py: Add routing thru selection template. * waskaweb/templates/casemanagement/downloadCSV.mako: Added link to select case parts. 2008-09-12 Torsten Irlaender Fixed switching to phases * waskaweb/model/phases.py, waskaweb/public/styles/color3.css, waskaweb/templates/casemanagement/phase.mako: Phases can now only be switched in forward direction. A short info is rendered on each phase if the phase was finished or currently running. 2008-09-12 Torsten Irlaender Added new search option for cases after a current date * waskaweb/controllers/waska.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/listbadcases.mako, ChangeLog.txt, formed/annotations.xhtml: Added new searchoption "only_cases_after" which takes a date as argument and results in a search for cases where the "erstgespraech" is after the given date. 2008-09-12 Sascha L. Teichmann * formed/formedtree_web.xml: Sync from db setup master. 2008-09-12 Sascha L. Teichmann * waskaweb/templates/casemanagement/selectParts.mako: make selection of logbook and documents optional because CSV and Excel do not have the ability to export these. * waskaweb/controllers/case_overview.py: XML is able to export logbook and documents. 2008-09-12 Sascha L. Teichmann * waskaweb/controllers/agency_overview.py waskaweb/controllers/case_overview.py: Added selection from session to call. TODO: Adjust GUI. * waskaweb/model/case.py: Added selection to library call. * waskaweb/model/phase_transition.py: Removed needless function * waskaweb/lib/exportselection.py: Fixed bug which prevents anonymisation from working. Added feature to user configurable where clauses because CSV-export works slightly different from Excel/XML. * waskaweb/lib/csv.py: Added selection. * waskaweb/lib/xmlexport.py: uses selection correctly now. 2008-09-11 Torsten Irlaender Modified search for inconsistent cases. * waskaweb/model/phase_transition.py, waskaweb/model/phases_factory.py, waskaweb/templates/casemanagement/listbadcases.mako: Search e.g for inconsistencies in phase 3 now includes also searches on inconsistensies in prior phases. 2008-09-10 Torsten Irlaender Anonymisation is now only possible when the required fields for the current phase are complete * waskaweb/model/phases_factory.py, waskaweb/model/case.py, waskaweb/config/routing.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/case.py, waskaweb/templates/casemanagement/dialogs/failed_markanonymize_phase_incomplete_from_overview.mako, waskaweb/templates/casemanagement/dialogs/failed_markanonymize_phase_incomplete.mako: Added check in markAnonymize controllers to check if the required fields for the current phase is complete. If not the we raise a notifiction dialog, which informs the user on that fact. Incomplete cases will be silently ignored in casebundles as it is done already for invalid case-states. 2008-09-09 Torsten Irlaender Added link to create a new logbook entry when switching the phase of a case. * waskaweb/templates/casemanagement/dialogs/success_set_phase.mako: New link to create a logbook entry 2008-09-08 Sascha L. Teichmann * waskaweb/model/phases.py: add a method phase.isPredecessor() * waskaweb/templates/casemanagement/phase.mako: Only allow adanvacing forward in phase tree. 2008-09-08 Sascha L. Teichmann * waskaweb/model/phases_factory.py: Build a list of preds for each phase * waskaweb/model/phases.py: track preds, too * waskaweb/templates/casemanagement/phase.mako: eval the possibility to activate phase recursively depending on the completeness of the preds. 2008-09-08 Torsten Irlaender Added more inconsistency checks * model/phases_factory.py, controllers/case_overview.py, controllers/waska.py, lib/search.py, public/styles/all.css, templates/casemanagement/listbadcases.mako: Added inconsistency checks for missing fields in a particular phase. Furter refactored the listing a the inconsistent cases. Further improved inconsestency checks * waskaweb/model/phases_factory.py, waskaweb/model/phase_transition.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/waska.py, waskaweb/templates/casemanagement/listbadcases.mako: Ignore checks on inkonsistent phases for cases which are older than 01.09.2008. Further only check inconsistency on current phase. 2008-09-08 Sascha L. Teichmann * waskaweb/model/navigation.py: add method findTreeItem(). * waskaweb/model/phases_factory.py: generate direct links to missing fields * waskaweb/controllers/case.py: use navigation tree to find page for missing fields. 2008-09-08 Sascha L. Teichmann * waskaweb/model/phases_factory.py: added a method getSQLWhereClauses() to return a list of tuples (, ) to check phase inconsistencies at database level. 2008-09-04 Sascha L. Teichmann * waskaweb/model/phases.py, waskaweb/model/phases_factory.py: Fixed typo which prevented 'running' states from working. * waskaweb/controllers/case.py: Raises StandardErrors in setPhase() now. 2008-09-04 Torsten Irlaender Search works now with new phase model * waskaweb/controllers/case_overview.py, waskaweb/lib/evaluation.py, waskaweb/lib/search.py: Exchanged old cm_state search with new phase search. cm-keyword is no longer valid. Introduced phase-keywork instead. This was primarily needed as precondition of the inconsistency checks on the blackboard, where we need to differ between the different phases. TODO: Currently the phases of waska are hardcoded in /lib/search and /controllers/case_overview (parsing search options). Ideally this can be done dynamically based on the phase model, * waskaweb/lib/validators.py: Fixed default value of gender. * waskaweb/templates/casemanagement/agency_search.mako, waskaweb/templates/casemanagement/search.mako: Added new search options for cm-phase "Keine Angabe" and "Clearing" 2008-09-04 Sascha L. Teichmann * waskaweb/lib/helpers.py: Added function to print times in weeks * waskaweb/templates/casemanagement/phase.mako: Only print dd:mm:YYYY for dates and time sums in weeks. 2008-09-04 Sascha L. Teichmann * waskaweb/model/phase_transition.py: add function to map back phase symbol to phase number. * waskaweb/controllers/case.py: Set phase. TODO: Mako template for error conditions. 2008-09-03 Sascha L. Teichmann * waskaweb/model/phase_transition.py: Added missing transition. * formed/formedtree_web.xml: Added times for nachbetreuung. 2008-09-03 Sascha L. Teichmann Sum up times in phases * waskaweb/model/phases_factory.py: Fix bug in accessing time * waskaweb/model/phases.py: Fix attribute error * waskaweb/lib/helpers.py: add default parameter to human_timedelta() * waskaweb/templates/casemanagement/phase.mako: Sum up the time deltas * formed/formedtree_web.xml: Mark fields for phase times. TODO: Sync with formed tree from database setup. 2008-09-03 Sascha L. Teichmann Load phase times from database. * waskaweb/model/phases_factory.py: Load phase times from database. Needs a flag 'time:phase1,phase2,..'. * waskaweb/model/case.py: Load required fields and times from database. 2008-09-03 Sascha L. Teichmann Build phases table from FormEd tree. * waskaweb/model/phases_factory.py: New. contains old needed.py stuff and is build list of phase pairs. * waskaweb/model/phase_transition.py: Added method to check if two phases are neighbored. * waskaweb/model/case.py: uses phases_factory now. * waskaweb/model/phases.py: Models for phases and phase pairs * waskaweb/controllers/case.py: rewired to use phases_factory now * waskaweb/lib/needed.py: Removed. It's now integrated in phases_factory. * waskaweb/templates/casemanagement/phase.mako: Iterates over a list of phase pairs now. Remove hard wired phases. 2008-09-03 Sascha L. Teichmann * waskaweb/templates/casemanagement/main.mako: Show current phase in case digest * waskaweb/model/case.py: Removed '#' before loading of phase from database. 2008-09-03 Sascha L. Teichmann * waskaweb/model/phase_transition.py: New. Transition table for phase model. Contains descption strings for phases, too. 2008-09-03 Sascha L. Teichmann * formed/formedtree_web.xml: Synced with database. 2008-09-03 Torsten Irlaender Changed length of input field for search string * waskaweb/templates/casemanagement/search.mako: Changed length to 256 Fixed evaluation on migration * waskaweb/lib/evaluation.py: replaced geburtsland with staatsangehoerigkeit. Added new privacy statement * formed/privacy_statement.html: New privacy statement. Changed institution Added new formedtree * formed/formedtree_web.xml: Added new phase "clearing" Adjusted evaluation to the new clearing phase * waskaweb/lib/search.py, waskaweb/lib/evaluation.py: Beratung becomes clearing. added new beratung. Changed search options regarding beratung phase. Adjusted evaluation of cm/beratung. Enabled new information site (including licensing) * waskaweb/templates/start/responsible.mako 2008-09-02 Sascha L. Teichmann Partial XLS export * waskaweb/lib/excel.py: uses the selection lib now. * waskaweb/lib/exportselection.py: Added a convinience method to lookup views. * waskaweb/model/case.py: uses selection for XLS export now. * waskaweb/controllers/case_overview.py: Rewired to integrate parts selection. * waskaweb/controllers/agency_overview.py: XXX: Some controller is missing! Check this if eval server is testes the next time. * waskaweb/templates/casemanagement/selectParts.mako: Make it more general to be useful for XLS and CSV too. * waskaweb/templates/casemanagement/downloadXLS.mako: Added link to part selection. 2008-09-02 Torsten Irlaender Adjusted evaluation to work with new phases model. TODO: Consolidate phase ids if modell changes again * waskaweb/lib/evaluation.py: Adjusted evaluations. adjusted new grouping of age evaluations. adjusted evalaution on migration background. New icon for evaluation relevant fields * waskaweb/public/images/icons/needed_12x12.png: Changed icon Added new check for inconsistent cases. * waskaweb/controllers/case_overview.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/listbadcases.mako: Check if the phase for the case is -1 (unknown). This is mainly usefull after upgrading the database to set the inital phase. If we can not determine for surein which phase this case belongs, the the unknown phase is set and the user needs to get active. Cases which are marked for deletion are no longer checked for inconsistency * waskaweb/templates/casemanagement/listbadcases.mako: removed state 3 from search string. 2008-09-02 Sascha L. Teichmann * waskaweb/lib/exportselection.py: New. out-factorized selection of case parts. * waskaweb/lib/xmlexport.py: Uses new lib now. * waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py: Adjusted imports. 2008-09-02 Sascha L. Teichmann * waskaweb/model/case.py: phase is now stored in the master_tbl 2008-09-02 Sascha L. Teichmann * waskaweb/lib/xmlimport.py: Updated checking dictionaries from FormEd. 2008-09-02 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Always export phase and einverstaendniserklaerung 2008-09-02 Sascha L. Teichmann * formed/formedtree_web.xml: FormEd tree from setup. 2008-09-01 Sascha L. Teichmann * formed/formedtree_web.xml: FormEd tree from setup. 2008-09-01 Torsten Irlaender Fixed syntax error * waskaweb/model/user.py, waskaweb/lib/security.py: Fixed sytanx error. Added helptexts on required fields and evalution help * waskaweb/model/user.py, waskaweb/config/routing.py: Added new route for evaluationhelp * waskaweb/controllers/case.py: New controller for evaluationhelp * waskaweb/lib/renderer.py, formed/annotations.xhtml: New helptexts Removed debuggung output for issue556 * waskaweb/model/repeatgroup.py: Removed debugging output 2008-08-30 Torsten Irlaender Implemented listing news based on last logintime * waskaweb/model/news.py, waskaweb/model/user.py, waskaweb/lib/security.py, waskaweb/templates/start/start.mako: News are now listed for 3 days after the last login. TODO: Check why set_last_logintime function does not set the logindate. 2008-08-29 Torsten Irlaender Added newslisting on startpage. * waskaweb/model/news.py, waskaweb/controllers/waska.py, waskaweb/public/styles/all.css, waskaweb/templates/start/start.mako, waskaweb/templates/start/newslist.mako: New template and style for newslisting. Added new model for news. 2008-08-28 Sascha L. Teichmann * waskaweb/lib/needed.py: Open help in new window. using parent's description if description of item is empty. 2008-08-28 Sascha L. Teichmann * waskaweb/lib/needed.py: Handle the case that a data base field has no default value correctly. 2008-08-28 Sascha L. Teichmann * waskaweb/lib/needed.py: recognize comma separated phases. 2008-08-28 Sascha L. Teichmann * waskaweb/lib/needed.py: Fix link to help. 2008-08-28 Sascha L. Teichmann * waskaweb/controllers/case.py: pass link list to template * waskaweb/lib/needed.py: generate link list for phases * waskaweb/templates/casemanagement/phase.mako: use link list. 2008-08-28 Torsten Irlaender Added additional status message regarding privacy when saving data in the formular * waskaweb/controllers/case.py, waskaweb/public/styles/color3.css, waskaweb/templates/main.mako, formed/waska-hilfetexte.xhtml: Created new helptext regarding printous after saving the data in the formular. linked helptext to the new status message. Implemented print dialog after setting phase. Made site for changing phases dynamic. * waskaweb/controllers/case.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/dialogs/success_set_phase.mako, waskaweb/templates/casemanagement/phase.mako, formed/waska-hilfetexte.xhtml, formed/formedtree_web.xml, formed/annotations.xhtml: Added new printdialog. implemented workflow to print case after changing a phase. make site for changing the phase more dynamic. Changed Version String to "1.2.0 alpha" Prepared renderer for evaluation icons at formfields. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/model/repeatgroup.py, waskaweb/lib/renderer.py: New Versionstring, rendering evaluation icons. 2008-08-28 Sascha L. Teichmann * waskaweb/lib/needed.py: Sort nc lists by description. 2008-08-28 Sascha L. Teichmann * waskaweb/model/case.py: Load required fields via case object now. * waskaweb/controllers/case.py: use case object. * waskaweb/lib/needed.py: Make required fields a class. 2008-08-27 Sascha L. Teichmann * waskaweb/lib/needed.py: New. extracting required fields for phases from FormEd tree. * waskaweb/model/nodecomponents.py: Added walk() across the tree. * waskaweb/controllers/case.py: Call (needed.py)extractRequiredFields 2008-08-27 Sascha L. Teichmann * waskaweb/templates/casemanagement/required.mako: Added missing Mako template. 2008-08-27 Torsten Irlaender Added template for switching phases * waskaweb/i18n/waskaweb.pot, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/controllers/agency_overview.py, waskaweb/controllers/case.py, waskaweb/public/styles/screen.css, waskaweb/public/styles/color3.css, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/phase.mako: New template. Added styles for coloring. New translations. Added new formedtree with fixed required attributes * formedtree_web.xml: New required attributes 2008-08-26 Sascha L. Teichmann * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako: Controller for phase of CM. 2008-08-25 Sascha L. Teichmann * waskaweb/model/case.py: Load phase from ka_status_tbl. 2008-08-21 Sascha L. Teichmann * waskaweb/controllers/agency_overview.py: Added dispositon headers for CSV and XML export on evaluation server. 2008-08-21 Torsten Irlaender Changed default sorting order of logbook and preparation for dynamic sorting. * waskaweb/model/logbook.py: Prepared model for dynanmic sorting. Added dynamic sorting of logbook * waskaweb/model/logbook.py, waskaweb/model/repeatgroup.py, waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/templates/logbook/overview.mako: Added dynamic sorting Added new helptexts and fixed formedtree * formed/waska-hilfetexte.xhtml: New helptext * formed/formedtree_web.xml: Added fixed formedtree Implemented print version of logbook * waskaweb/controllers/case.py: New controller for printing * waskaweb/public/styles/all.css: New class to remove border * waskaweb/templates/logbook/overview_print.mako, waskaweb/templates/logbook/overview.mako, ChangeLog.txt: New template and linked printing Small changed in formular * waskaweb/model/navigation.py: Renamed "erreichte Ziele" to "erreichte Oberziele" * formed/formedtree_web.xml: Added and renamed options 2008-08-20 Sascha L. Teichmann * waskaweb/public/images/icons/required_12x12.png, waskaweb/public/images/icons/needed_12x12.png: New. Icons for required and needed fields. * waskaweb/lib/renderer.py: Use new 'required' icon. 2008-08-20 Torsten Irlaender Added new section "Lebensbewaeltigung" to "Abschlussbewertung" * formed/formedtree_web.xml: Added new fields. Fixed issue 546: * waskaweb/model/case.py: Added missing attributes in reset function. Added new datefields for different phases in CM * formed/formedtree_web.xml: Added new fields. 2008-08-19 Torsten Irlaender Added new section "Zielsetzung" to the Unterstuetzungs-Repeatgroups * model/repeatgroup.py: Modified SQL-Query and added new attribute for rg-objects. * model/statement.py, lib/renderer.py: Changed rendering of the Aid-Overview and the Aidplanstatement. * i18n/de/LC_MESSAGES/waskaweb.po: New transalation for "Zielvereinbarung" 2008-08-18 Sascha L. Teichmann Added controller support for required fields. TODO: make icon. * waskaweb/config/routing.py: Added route to required fields * waskaweb/controllers/case.py: Added controller. * waskaweb/lib/formular_help.py: Fixed key errror. * waskaweb/lib/renderer.py: Issue (*) on required fields. 2008-08-18 Sascha L. Teichmann Added support for form annotations. TODO: add controller and adapt renderer. * formed/annotations.xhtml: New. File containing annonations. * waskaweb/lib/formular_help.py: Add dictionary for annotations. * waskaweb/lib/app_globals.py: Load annotations file. 2008-08-13 Torsten Irlaender Issue515 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Renamed status "Offen" to "Bearbeitbar" Fixed formating of floats. * waskaweb/lib/evaluation.py: Use "," instead of "." in floats. New Style for columns holding numbers in evalution * waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/evaluation/evaluation_avg_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako: Added new Style for columns in evaluation which includes numbers. Those columns are now aligned right. Implemented export of effort evaluation * waskaweb/controllers/case.py, waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/model/logbook.py, waskaweb/templates/casemanagement/evaluation/evaluation_avg_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_0.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Evaluation of efforts can now be exported as CVS. Disable effort evaluation on evaluation-server. Changed version string to 1.1.0 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed date and version string. This was done for a preview version 2008-08-12 Sascha L. Teichmann partial Fix for Issue539 * waskaweb/controllers/waska.py: make 'waska_auth' a secure cookie. 2008-08-12 Torsten Irlaender Implemented evaluation if logbook entrys on single cases. * waskaweb/controllers/case.py, waskaweb/model/logbook.py, waskaweb/templates/logbook/overview.mako: A short evalution on the logbook entries is now displayed under the logbooklisting. Implemented evaluation of logbook in global evaluation. * waskaweb/controllers/case.py, waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/model/logbook.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako, waskaweb/templates/logbook/overview.mako, waskaweb/templates/casemanagement/evaluation/evaluation_avg_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_effort.mako, waskaweb/templates/casemanagement/evaluation/evaluation_navigation.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_0.mako: The evaluation of logbook entries was moved into the evaluation lib, as it is in fact a evaluation. Regardless if the user now evaluates over a single case, or over all cases the lib/evalution will do this job. TODO: Formatting and Export. 2008-08-07 Torsten Irlaender Issue515 * waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako: Handle closed cases as open cases. Unsorted: * Changes.txt: Added issue515 2008-08-06 Torsten Irlaender Tagged Version 1.0.4 Issue517: * waskaweb/lib/evaluation.py: Fixed WHERE statement in evaluation, which results in wrong evaluation result: Evaluation was based on to much cases. Unsorted: * Changes.txt: Added issue517 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed date of version string * waskaweb/templates/start/responsible.mako: Reactivated old text. 2008-08-05 Torsten Irlaender Issue522: * waskaweb/lib/evaluation.py: Fixed evaluation on age. The age is now calculated at the time of the first meeting. If the date of the meeting is not present the age at time of last modification will be calculated. Issue523: * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/caselist.mako: Fixed sorting of cases on base of "Kundennummer" Release: * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Adjusted Versionstring to Version 1.0.4 * Changes.txt: Added notes vor Version 1.0.4 2008-08-04 Torsten Irlaender Issue516 * waskaweb/lib/evaluation.py, waskaweb/lib/search.py: Modified Search to handle "Beratungskunden" correctly. 2008-08-04 Sascha L. Teichmann * */**/*.py: An encoding problem once again. find -name \*.py | xargs \ sed -i 's/Projekttraeger im Deutschen Zentrum f./Projekttraeger im Deutschen Zentrum fue/g' 2008-08-04 Frank Koormann * waskaweb/public/images/icons/form_help.png: New, selfbuild image to ensure full copyrights. * waskaweb/public/styles/screen.css: Center images by default 2008-07-29 Torsten Irlaender Fixed Issue509 * formed/waska-hilfetexte.xhtml: Modified helptext. Changes on the editor of the case are tracked automatically in the case now. Issue508 * formed/waska-hilfetexte.xhtml, waskaweb/templates/start/start.mako: Basically added new helptext in infodialog for inconsistent cases. 2008-07-29 Sascha L. Teichmann * waskaweb/templates/start/responsible.mako: New text. 2008-07-29 Sascha L. Teichmann * LICENSE: New. GNU AFFERO GENERAL PUBLIC LICENSE Version 3 2008-07-29 Sascha L. Teichmann * **/*.py: Added copyright/license header. 2008-07-29 Sascha L. Teichmann * README.txt: Added naming mplus WASKA to README. 2008-07-28 Torsten Irlaender Issue513 * waskaweb/lib/evaluation.py: On evaluation server: If no timeinterval is defined do not filter out inconsistent cases. Unsorted: * waskaweb/controllers/case_overview.py waskaweb/controllers/waska.py: List inconsistent cases if their state is either marked for deletion or marked for anonymisation. (Was missing) 2008-07-23 Torsten Irlaender Tagged as "1.0.3" * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed versionstring Issue312 * waskaweb/controllers/case.py: Added pagebreak after casedigest in printout. Issue496 * waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/edit_usergroup.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/new_usergroup.mako, waskaweb/templates/administration/userform_body.mako, waskaweb/templates/appointments/appointment_form.mako, waskaweb/templates/appointments/edit_body.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako, waskaweb/templates/casemanagement/search.mako, waskaweb/templates/casemanagement/static_form.mako, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/login.mako: Added maxlength attribute to textfields. * waskaweb/templates/administration/userform_body.mako, waskaweb/templates/casemanagement/static_form.mako, waskaweb/templates/tests/forms.mako: Removed obsolete templates Unsorted: * waskaweb/templates/start/start.mako: Fixed typo 2008-07-22 Torsten Irlaender Retagged as "1.0.3rc9" 2008-07-22 Sascha L. Teichmann * waskaweb/templates/casemanagement/new.mako: Added id to label sign statement correctly. 2008-07-22 Torsten Irlaender * waskaweb/controllers/case.py: Fixed confirmation dialog on anonymisation Fixed Issue502 * waskaweb/controllers/case.py, waskaweb/model/case.py, waskaweb/model/statement.py: Set state of EE to undefined on restoring a case if EE is declined (anonymisation). 2008-07-22 Torsten Irlaender Tagged as "1.0.3rc9" * waskaweb/controllers/error.py: Fixed indention error * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: New version string 2008-07-21 Sascha L. Teichmann Security fix (http://wiki.pylonshq.com/display/pylonsdocs/0.9.6.2) * waskaweb/controllers/error.py: Applied changes suggested in URL above. TODO: Upgrade to Routes 1.7.3. Rated impact: We do not use error.py in production. Static content is served by Apache. We may need to have a deeper look at serving documents, XML, XSL and CSV. 2008-07-21 Sascha L. Teichmann Fixed issue501 * waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py: Used wrong message constants for mark anonymize and anonymized. 2008-07-18 Sascha L. Teichmann Fixed issue499 * waskaweb/controllers/case.py: load case after successful creation. 2008-07-17 Sascha L. Teichmann * waskaweb/lib/evaluation.py, waskaweb/model/agency.py: Fix for the evaluation server. freie_doku_abschlussbewertung must be NULL and evaluation server was mispelled. 2008-07-17 Sascha L. Teichmann Tagged as "1.0.3rc8" * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as "1.0.3rc8" 2008-07-17 Sascha L. Teichmann * formed/formedtree_web.xml: Synced with FormEd tree from DB setup. 2008-07-15 Frank Koormann * formed/waska-hilfetexte.xhtml: Fixed help text reference for "freie_dokumentation_abschlussbewertung" 2008-07-15 Frank Koormann * formed/waska-hilfetexte.xhtml: Added help texts for free documentation fields and diseases. 2008-07-15 Sascha L. Teichmann * ChangeLog.txt: Tagged as 1.0.3rc7 2008-07-10 Frank Koormann * formed/waska-hilfetexte.xhtml: Formatting fix for "schulpflichtig". 2008-07-10 Torsten Irlaender Worked on Issue 472 * formed/formedtree_web.xml: Placed new formedtree. * formed/waska-hilfetexte.xhtml: Changed helptext * waskaweb/lib/evaluation.py: Changed evaluation "Verweildauer". "vorzeitige Beendigung" is now count as "regulär Beendigung" too. * waskaweb/lib/xmlimport.py: Added new dictionary based on formed to the xmlimporter 2008-07-10 Frank Koormann * formed/waska-hilfetexte.xhtml: New entry for "schulpflichtig". 2008-07-09 Sascha Teichmann * Changes.txt: Adjusted to 1.0.3rc6 2008-07-09 Torsten Irlaender Worked on issue484 * waskaweb/templates/logbook/edit_body.mako: Labels of formularfields with errors are now render in red color too. First version of a fix for Issue312 * waskaweb/controllers/case.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/digest_body.mako: Added the digest as first page of the printout of the full formular. First version of a fix for Issue488 * waskaweb/controllers/agency_overview.py, waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Added a short information on each evaluation result page on how many cases where used for the evaluation result. Further added information on how many cases are totaly on the evaluation server in the overview page. Changed Version string to rc6 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string 2008-07-08 Torsten Irlaender Fixed Issue483 * waskaweb/templates/appointments/edit_body.mako: Added maxlength of 128 to the title of appointments Fixed Issue478 * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/caselist.mako: Show cases which are marked for anonymisation in overview when selection anonymized cases for users with cm-role. Fixed Issue477 * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/templates/casemanagement/caselist.mako: Added new Action to mark cases for anonymisation when the user selects this case from the overview instead of within a selected case. Fixed Issue484 * waskaweb/controllers/case.py, waskaweb/templates/logbook/edit_body.mako: Formularfields with errors are now rendered with a red border. Fixed Issue490 * waskaweb/model/semantic.py: Encoding of the file changed to utf-8. Inserted umlauts. 2008-07-08 Sascha L. Teichmann Workaround for issue264 * waskaweb/controllers/rg_aid.py: return None if aid object cannont be load. * waskaweb/model/repeatgroup.py: if on delete load failed say that deletion succeed. 2008-07-08 Sascha L. Teichmann Fixed issue371 * waskaweb/lib/renderer.py: _('...') inside '''....''' does not work. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: 2008-07-08 Sascha L. Teichmann * formed/formedtree_web.xml: Fixed twisted pair geburtsdatum/geschlecht. repaired bezug_alg1, bezug_alg2. 2008-07-07 Torsten Irlaender Worked on issue492 * waskaweb/lib/evaluation.py: Added additional where statement to filter out inconsisistent cases (only for evaluation server). Indication for those cases is the field "freie_doku_abschlussbewertung" is not NULL. * waskaweb/templates/casemanagement/listbadcases.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Changed wording "Fehlerhafte Fallakten" to "Inkonsistene Fallakte". Unsorted * waskaweb/lib/xmlimport.py: Added new python dictionaries from the new formedtree to the importer. 2008-07-04 Torsten Irlaender Fixed issue475 * formed/privacy_statement.html: Modified message in privacy statement. Fixed issue491 * waskaweb/templates/casemanagement/static_form/statement_print.mako: Removed file as it is not needed anymore. Worked in issue492 * waskaweb/controllers/case_overview.py, waskaweb/lib/search.py, waskaweb/templates/main.mako, waskaweb/templates/casemanagement/listbadcases.mako: Added new search options to find cases which have errors in data. Added template with userfriendly buttons which cann be used to fire up predefinded searches. * waskaweb/controllers/waska.py, waskaweb/templates/casemanagement/listbadcases.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Added notifier an blackboard which informs the user if he has cases which includes errors. * waskaweb/controllers/case_overview.py, waskaweb/controllers/waska.py, waskaweb/templates/casemanagement/listbadcases.mako: Only show links to start a search for error cases if there are cases of the error type. Fixed issue489 * waskaweb/model/statement.py: Added filter functions for empty fields in aidstatements when printing. Unsorted * waskaweb/templates/casemanagement/overview.mako: Removed word "Auswahl" from bundled action menu as this word is redundant. 2008-07-03 Torsten Irlaender Issue483 * waskaweb/lib/validators.py: Added validation to title of an appointment. Issue484 * waskaweb/lib/validators.py: Added new validation for duration of a logbookentry 2008-07-01 Sascha L. Teichmann Fixed Issue490 * waskaweb/model/semantic.py: Fixed typo 2008-07-01 Sascha L. Teichmann Fixed Issue487 * waskaweb/controllers/case.py: raise 404 if requested help is not available. 2008-07-01 Torsten Irlaender Tagged version 1.0.3rc5 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed verision string to 1_0_3rc5 Issue482 * waskaweb/templates/appointments/remindlist_body.mako: Added default member f unctions to the template Issueissue383 * waskaweb/controllers/administration.py, waskaweb/lib/validators.py: changed validation on usergroups. Unsorted: * waskaweb/templates/appointments/overview.mako: Removed explaination string in appointment overview for admin. came from beta versions. * waskaweb/lib/renderer.py: Fixed encoding error 2008-07-01 Sascha L. Teichmann Fixed Issue481 * waskaweb/lib/validators.py: raise validation exception if string is too long. * waskaweb/templates/logbook/edit.mako, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/logbook/new.mako: Adjusted templates to print correct error message. 2008-07-01 Sascha L. Teichmann * Changes.txt: Updated to recent changes. 2008-07-01 Torsten Irlaender Issue409 * waskaweb/config/routing.py, waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/templates/appointments/remindlist_body.mako, waskaweb/templates/start/remindlist.mako: Added function to mark a case as active directly from the blackboard. Issue369 * waskaweb/controllers/waska.py, waskaweb/templates/start/start.mako, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot waskaweb/templates/start/globalappointmentlist.mako: Separated global appointments on the blackboard in its own section. 2008-06-30 Sascha L. Teichmann Fixed Issue341 * waskaweb/lib/helpers.py: new function human_timedelta() which gives a timedelta in human readable form. * waskaweb/model/appointment.py: use human_timedelta() for duration of appointments. 2008-06-30 Torsten Irlaender Issue472 * formed/formedtree_web.xml: New formedtree. * formed/waska-hilfetexte.xhtml: New helptext for "Behinderung" Issue465 * waskaweb/templates/start/responsible.mako, waskaweb/public/images/agplv3-155x51.png: Changed text on info page. The new version now includes licensing issues and differs between WASKA und mpuls. New version is commented out yet. Issue479 * waskaweb/templates/casemanagement/search.mako: Added accept-charset="uft-8" to the search formularfield. Issue476 * waskaweb/templates/start/help.mako: Adjusted links on helppage to the new structure of the waska-anwender wiki 2008-06-30 Sascha L. Teichmann Fixed Issue480 * waskaweb/controllers/agency_overview.py: Used pylons validator + htmlfill to fill the parts selection form. 2008-06-30 Sascha L. Teichmann * waskaweb/templates/casemanagement/downloadCSV.mako, waskaweb/templates/casemanagement/downloadXLS.mako, waskaweb/templates/casemanagement/downloadXML.mako: Adjusted templates for evaluation server. 2008-06-27 Sascha L. Teichmann Implemented anonymized XLS export. * waskaweb/controllers/case_overview.py: use anonymize parameter. * waskaweb/lib/excel.py: switch to anon views if anonymize parameter is given. * waskaweb/model/case.py: use anonymize parameter. * waskaweb/templates/casemanagement/downloadXLS.mako: Added anonymize parameter to dialog. 2008-06-27 Sascha L. Teichmann Implemented anonymized CSV export. * waskaweb/controllers/case_overview.py: use anonymize parameter. * waskaweb/lib/csv.py: switch to anon views if anonymize parameter is given. * waskaweb/model/case.py: use anonymize parameter * waskaweb/templates/casemanagement/downloadCSV.mako: Changed dialog to use anonymize parameter * waskaweb/templates/casemanagement/downloadXML.mako: Fix numbering. 2008-06-27 Torsten Irlaender Hopfully last changes on evaluation and its workflow. * waskaweb/lib/evaluation.py, waskaweb/lib/search.py, waskaweb/controllers/agency_overview.py: Fixed timeframe query * waskaweb/controllers/case_overview.py, waskaweb/controllers/evaluate.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Searchoption on the evaluation result page are now only displayed if the user comes from the default search in the main-menu. Else hide search option as their impact is too complicated for users. Issue475 * formed/privacy_statement.html: Adjusted privacy statement to standard workflow of anonymization. Issue473 * waskaweb/templates/logbook/show.mako: Fixed output of note in show dialog of an logbook entry. Unsorted * waskaweb/lib/validators.py: Make field "duration" disposable 2008-06-27 Sascha L. Teichmann Implemented anonymized XML export. * waskaweb/controllers/case_overview.py: added evaluation of flag for anonymization. * waskaweb/lib/xmlexport.py: Switch to anon-views if export should be anonymized. * waskaweb/model/case.py: take optional flag for anonymization. * waskaweb/templates/casemanagement/downloadXML.mako: Attempt to make dialog look more like import (which failed partly). 2008-06-27 Sascha L. Teichmann * waskaweb/lib/excel.py: Same '$'-Fix as for the CSV export. 2008-06-26 Frank Koormann * formed/formedtree_web.xml: Reformatting of "Persoenliche Daten" using new weights. 2008-06-26 Frank Koormann Added further weights to the form element rendering * waskaweb/lib/renderer.py: Enhanced list of weights. * waskaweb/public/styles/all.css, waskaweb/public/styles/ie6.css: Added weight styles 2008-06-26 Torsten Irlaender Modified SQL query on evaluation server (massive perfomrance issues with compressed ids) * waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/model/agency.py: Added special code for building where statements of the evaluation querys if we are running an evaluation server. Because of some side effects this isn't a really nice soluation and somewhat hackish. * waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Fixed syntax errors Changed version string * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: 1_0_3rc4 2008-06-26 Sascha L. Teichmann * waskaweb/lib/csv.py: Separate differen 'Unterstuetzungsangebote' of same kind with '$' instead of '_' to avoid proplems with name collisions. 2008-06-24 Sascha L. Teichmann Fix related to Issue461 * waskaweb/lib/pdfimporter.py, waskaweb/model/case.py: comment out output of unknown fields. 2008-06-24 Sascha L. Teichmann Fixed Issue467: * waskaweb/templates/main.mako: Sanitized HTML * waskaweb/lib/helpers.py: new function status_message(s) which generates a line suitable for the status bar. * waskaweb/controllers/case.py: uses status_message() now 2008-06-24 Torsten Irlaender Issue466 * waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/logbook/show.mako: Automatic generated entries in logbook are not editable anymore. Extended Searchoptions for evaluation server (not tested too much yet): * waskaweb/config/routing.py, waskaweb/controllers/agency_overview.py, waskaweb/lib/search.py, waskaweb/lib/validators.py, waskaweb/model/agency.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/agencylist.mako: Agency overview is now searchable with the following criteria: gender, cm_state, and timeframe. Further the listing is no sortable. Fixed extended search * waskaweb/lib/search.py: changed db query to get cases which are in cm to make use of a new view. Old view (master_tbl_eval_incm_view) leads to sideeffects if the user searches for cases including standin cases. Fixed evaluation 1 * waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako: Differ more between all, incm and not incm in first evaluation. Fixed help texts * formed/waska-hilfetexte.xhtml, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Fixed some helptexts (feedback DLR) Removed status message from bottom of the page * waskaweb/templates/main.mako: Removed status msg. Unsorted: * waskaweb/public/styles/print.css: Do not print status msg * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set Versionstring to 1_0_3rc3 2008-06-23 Sascha L. Teichmann Partial fix for Issue463. Removed ids, uuids and master_ids from output. * waskaweb/lib/csv.py: Fixed wrong usage of cursor.description. 2008-06-23 Sascha L. Teichmann * waskaweb/lib/validators.py: Set appointments to 1 if missing * waskaweb/lib/xmlexport.py: Removed needless parameter in selection 2008-06-23 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Added 'tagebuch-sonstiges' to XML export. 2008-06-23 Torsten Irlaender Restructured templates of logbook. Pylonisize dataflow for logbook * waskaweb/controllers/case.py: Changed way how to set and validate logbook data. * waskaweb/lib/validators.py: Added new validator for logbooks * waskaweb/templates/casemanagement/editLogbookEntry.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako, waskaweb/templates/logbook/dialogs/confirm_delete_logbook_entry.mako, waskaweb/templates/logbook/dialogs/failed_create_logbook_entry.mako, waskaweb/templates/logbook/dialogs/failed_delete_logbook_entry.mako, waskaweb/templates/logbook/dialogs/failed_save_logbook_entry.mako, waskaweb/templates/logbook/dialogs/failed_show_logbook_entry.mako, waskaweb/templates/logbook/dialogs/success_create_logbook_entry.mako, waskaweb/templates/logbook/dialogs/success_delete_logbook_entry.mako, waskaweb/templates/logbook/dialogs/success_save_logbook_entry.mako, waskaweb/templates/logbook/edit.mako, waskaweb/templates/logbook/edit_body.mako, waskaweb/templates/logbook/new.mako, waskaweb/templates/logbook/overview.mako, waskaweb/templates/logbook/show.mako: Moved and created new templates * waskaweb/templates/casemanagement/dialogs/confirm_delete_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/failed_create_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/failed_delete_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/failed_save_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/failed_show_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_create_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_delete_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_save_logbook_entry.mako, waskaweb/templates/casemanagement/logbook.mako, waskaweb/templates/casemanagement/showLogbookEntry.mako: Removed old templates Added statusbar at top of the page, add help text to the statementlisting * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: New style for statusbar at top of the page. Changed translation strings for more helo in statementlisting Added default vlaues for new logbook entrys * waskaweb/controllers/case.py: make use of htmlfill. Issue251 * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako: Replaced two checkboxes for states "Offen" and "Geschlossen" with one "checkbox" for "Bearbeitbar" which includes both states. * waskaweb/templates/casemanagement/organisation.mako: Removed setting state from organisation Changed version string * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed version string to rc2 IE6 rendering fix * waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Fixed rendering error in caseoverview (tablewidth) 2008-06-23 Sascha L. Teichmann * waskaweb/model/logbook.py: Added short notice ('Nennung Sonstiges') and extend list of kinds ('Erstgespräche', 'Kompetenzfeststellung'). * waskaweb/templates/casemanagement/editLogbookEntry.mako, waskaweb/templates/casemanagement/logbook.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako, waskaweb/templates/casemanagement/showLogbookEntry.mako: Add new field and values to templates. 2008-06-20 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed Version string. Fixed Evaluation * waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Fixed incorrect evaluation of the duration of cm. Added new evaluation for the averange duration of cm. Fixed evaluation on aid plan. 2008-06-18 Torsten Irlaender Adjusted for Version 1.0.3rc1 * Changes.txt: enhanced changes 2008-06-17 Sascha L. Teichmann * waskaweb/templates/casemanagement/downloadCSV.mako, waskaweb/templates/casemanagement/downloadXLS.mako waskaweb/templates/casemanagement/downloadXML.mako: Added privacy warnings for exports. 2008-06-17 Sascha L. Teichmann * waskaweb/controllers/case.py: Fix for issue460 2008-06-17 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Implemented export of documents. * waskaweb/templates/casemanagement/selectParts.mako: Re-inserted submit button. 2008-06-17 Sascha L. Teichmann * waskaweb/templates/casemanagement/selectParts.mako: Fixed h.url_for() usage. 2008-06-17 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Export log book. 2008-06-16 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Remove appointments * waskaweb/templates/casemanagement/selectParts.mako: Remove from selection 2008-06-16 Sascha L. Teichmann Partial XML (Part II). Implemented: export only parts of the data * waskaweb/lib/xmlexport.py: Filter out unneeded parts. * waskaweb/model/nodecomponents.py: added method to formed tree to find node by name only. 2008-06-16 Sascha L. Teichmann Partial XML (Part I). Implemented: connect selection to export * waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py: fetch selection from session a connect it to export. * waskaweb/model/case.py: Removed selection. * waskaweb/lib/xmlexport.py: Re-inserted here. 2008-06-16 Torsten Irlaender Fixed issue459 * formed/waska-hilfetexte.xhtml, waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/helpers.py, waskaweb/model/navigation.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/start/help.mako: Added new help texts Fixed issue352 * formed/formedtree_web.xml: Added new options in formular: "in der Maßnahme" and "sonstiges" for Zugang "sonstiges" in "Uebernahme in das CM nicht notwendig weil..." 2008-06-16 Torsten Irlaender Worked on issue425 * waskaweb/controllers/case.py, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: Added status line at the bottom of the page. Actions in controller can write some information in c.status_msg which will be then displayed as status msg. Implemented this for setting the editor, standin and for saving formular page which had no notification dialog yet. Fixed issue383 * waskaweb/controllers/administration.py, waskaweb/lib/validators.py: Added two new checks against the DB to the validator: 1. Check if a group with the given name already exist. 2. On creating a new user check if there is already a user with the given loginname. If so show error dialog. 2008-06-12 Sascha L. Teichmann Make day time editable and prevent editing of automatic entries. * waskaweb/lib/helpers.py, waskaweb/model/logbook.py: check day time * waskaweb/templates/casemanagement/editLogbookEntry.mako, waskaweb/templates/casemanagement/logbook.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako, waskaweb/templates/casemanagement/showLogbookEntry.mako: Adjusted templates 2008-06-12 Torsten Irlaender Pylonisize the part selection of the xml export * waskaweb/controllers/case_overview.py, waskaweb/lib/validators.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/selectParts.mako: Removed special code from the template and let htmlfill handle to correct rendering of checked and unchecked boxes. Added new validator for this formular. Added uuid for documents * waskaweb/model/document.py: create function now has optional uuid param. If this param is not given than a fresh uuid will be genereated (db-side). Worked on Issue448 * waskaweb/templates/casemanagement/caselist.mako: Added icon for cm_ka users to anonymize a case directly from the case overview. Fixed Issue290 * waskaweb/templates/appointments/appointmentlist.mako, waskaweb/templates/casemanagement/appointmentlist.mako: Reformted html code. 2008-06-12 Sascha L. Teichmann * waskaweb/public/servicezeit.html: Fixed typo. 2008-06-12 Sascha L. Teichmann * waskaweb/public/servicezeit.html: Simple HTML page for service purposes. 2008-06-12 Sascha L. Teichmann * waskaweb/model/logbook.py: cleaned SQL * waskaweb/templates/casemanagement/logbook.mako: Renamed to 'Tagebuch' 2008-06-12 Sascha L. Teichmann Logbook (Part V). TODO: Cleanup code, really i18n. Implemented 'edit' * waskaweb/controllers/case.py: Added controllers to edit log book entries. * waskaweb/model/logbook.py: Enable entries to be stored by id. * waskaweb/templates/casemanagement/main.mako: Removed i18n. :-( * waskaweb/templates/casemanagement/newLogbookEntry.mako: Added modus field. * waskaweb/templates/casemanagement/dialogs/failed_save_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_save_logbook_entry.mako, waskaweb/templates/casemanagement/editLogbookEntry.mako: Dialogs for editing. 2008-06-12 Sascha L. Teichmann Logbook (Part IV). TODO: i18n, edit entries. Implemented 'show' * waskaweb/controllers/case.py: Added controllers to show log book entry * waskaweb/model/logbook.py: Load individual entry by id * waskaweb/templates/casemanagement/dialogs/failed_show_logbook_entry.mako, waskaweb/templates/casemanagement/showLogbookEntry.mako: New. Templates for showing one entry. 2008-06-12 Torsten Irlaender Issue451 * waskaweb/controllers/evaluate.py, waskaweb/lib/validators.py: Save search options on the evaluation page in a session so we can display the seleted time interval on the resultpages of the evaluation. Worked on Issue14: * waskaweb/controllers/case_overview.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/overview.mako: Added new search option "branch" to the search engine. This option can be used by admins to seperate cases to the differnet branches of their KA. Fixed Issue456: * waskaweb/templates/casemanagement/downloadCSV.mako: Emphasized (red color) problematics regarding to CSV export in CSVExport-Diaolog. 2008-06-11 Sascha L. Teichmann Logbook (Part III). TODO: i18n, edit entries. implemented 'delete' * waskaweb/config/routing.py: New route for delete confirmation * waskaweb/controllers/case.py: controllers for deletion of log book entries. * waskaweb/model/logbook.py: Enabled to delete entries from database. * waskaweb/templates/casemanagement/dialogs/confirm_delete_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/failed_delete_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_delete_logbook_entry.mako, waskaweb/templates/casemanagement/newLogbookEntry.mako: New. Confirmation, success and failure dialogs. 2008-06-11 Sascha L. Teichmann Logbook (Part II). TODO: i18n, edit/delete entries. implemented 'create' * waskaweb/controllers/case.py: controllers for creation of new log book entries. * waskaweb/lib/helpers.py: New helper for time intervals * waskaweb/model/logbook.py: Enabled to store entries to database. * waskaweb/model/user.py: Add a method for shortened name. * waskaweb/templates/casemanagement/logbook.mako: Removed i18n. * waskaweb/templates/casemanagement/dialogs/failed_create_logbook_entry.mako, waskaweb/templates/casemanagement/dialogs/success_create_logbook_entry.mako: New. dialogs after (successful) creation of new log book entry. 2008-06-11 Sascha L. Teichmann * waskaweb/model/logbook.py: Fixed text substitution. 2008-06-11 Torsten Irlaender Issue448 * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako: Small textchanges in the confirmation dialogs. * waskaweb/public/images/icons/anonym_red.gif: Added missing icon for issue448 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added new translated strings * waskaweb/model/case.py: Call anonymize wrapper function. Issue452: Implemented more bundled actions * waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/dialogs/confirm_bundle_anonymize.mako, waskaweb/templates/casemanagement/dialogs/success_bundle_anonymize.mako: Added bundled action for anonymisation, mark for anonymisation and restoring cases in the web gui. Workflow ist functional now Issue126 * waskaweb/model/case.py: Print "0" instead of "-/-" for age in case digest if child is younger that one year. Issue410 * waskaweb/model/appointment.py: Filter out reminders and appointments of cases for which the current user is only standin. Admin will still see reminders on outdated cases. Unsorted: * waskaweb/templates/casemanagement/overview.mako: Added new labels on the extended search link which depends on the extended search is visible or not. 2008-06-10 Torsten Irlaender * waskaweb/lib/search.py: Changed field for the end of the timeframe from last access time to field "beendigung_5" Issue447 (fix preview) * waskaweb/controllers/case_overview.py waskaweb/lib/search.py: Changed default search options in case overview for admin users. On default they only see cases with are marked for deletion or for anonymisation Issue448 * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py, waskaweb/controllers/statement.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako, waskaweb/templates/casemanagement/dialogs/confirm_anonymize.mako, waskaweb/templates/casemanagement/dialogs/success_anonymize.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/dialogs/confirm_markanonymize.mako, waskaweb/templates/casemanagement/dialogs/failed_markanonymize.mako, waskaweb/templates/casemanagement/dialogs/success_markanonymize.mako: Implemented the anonymisation of a case in the way like it is done for deleting cases: Anonymisation is now done in two steps. First marking it for deletion. Second anonymize, whereby the first step is done by users with cm-ka role and the second step will be done by users with admin-ka role. 2008-06-10 Sascha L. Teichmann Logbook (Part I). TODO: i18n, add/edit/delete entries. Implemented 'overview' * waskaweb/controllers/case.py: render logbook overview. * waskaweb/lib/helpers.py: new time interval function * waskaweb/templates/casemanagement/main.mako: Added link to logbook * waskaweb/controllers/logbook.py: New. controller for logbook handling. Empty. * waskaweb/model/logbook.py: New. Model for logbook and entries. * waskaweb/templates/casemanagement/logbook.mako: New. Template for the logbook overview. * waskaweb/tests/functional/test_logbook.py: New. Test stub. 2008-06-09 Torsten Irlaender Fixed issue417 * waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Added two new evaluations over all cases. First highest graduation and current work situation. Implemented toggling of the extended search * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako: Extended search can now be opened and collapsed. In collopses state no extended search option will be used for a search and only the default options will be used. Implemented search on cm state * waskaweb/controllers/case_overview.py, waskaweb/controllers/evaluate.py, waskaweb/lib/search.py, waskaweb/templates/casemanagement/overview.mako: Search for the cm-state of a case is now functional. Implemented extended search with more search options * waskaweb/controllers/case_overview.py, waskaweb/controllers/evaluate.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/overview.mako: Added field for gender selection, Added field for setting a timeframe, adding field for selecting case_state (non functional yet). Moved checkboxes for open and closed cases to the extended search as these options are not used frequently. Added counting of different types of cases in the search results. Openening and collapsing the extended search is not functional yet. 2008-06-06 Torsten Irlaender Fixed issue423 * waskaweb/lib/renderer.py, waskaweb/model/repeatgroup.py: Added additional field in the aidlist overview. Modified SQL statement to fetch some more information to the aid. Fixed issue333 * waskaweb/model/case.py: The name of the editor is updated in the master_tbl when the admin changes the editor. Fixed issue416 * formed/formedtree_web.xml: New formedtree which includes additional option on familienstand ('in fester Partnerschaft') Fixed issue397 * formed/formedtree_web.xml: New formedtree which includes additional option on Rechstkreis ('SGB IX') Worked on issue14 * waskaweb/lib/search.py: Added searchoption "gender" to the search engine 2008-06-05 Sascha L. Teichmann * waskaweb/lib/xmlimport.py: Do not crash if cases without UUIDs are imported. 2008-06-05 Torsten Irlaender Added search on timeintervals * waskaweb/controllers/case_overview.py, waskaweb/model/case.py: The "searchengine" now understands four new keywords which can be used to define a timeinterval for cases. These are: the start and end date und the fields in the database holding the fields which will be tested. Default search. If no date is given the search will look for the date of first contact and the last access time. Time intervall is 1970-01-01 - today. Refactored search * waskaweb/model/case.py, waskaweb/lib/search.py: Extracted search specific code out of the caseoverview und put it into the new lib "search" which can now be used at other places to Implemented search mask for timeintervals on evaluations * waskaweb/controllers/case_overview.py, waskaweb/controllers/evaluate.py, waskaweb/lib/sql_helper.py: Added search method in the evaluation controller. It is able to search for cases in a particular time interval and the does a evaluation on search result. * waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: Added search mask to define a timeinterval on the the evaluation. Fixed issue426 * waskaweb/controllers/case_overview.py: Fixed spelling Fixed issuei342 * waskaweb/lib/renderer.py: Replace '\r' and '\r\n' with
tag in readonly mode too. Fixed issue427 * waskaweb/model/casedocument.py: Removed forgotten debugging output 2008-06-05 Sascha L. Teichmann GUI for partial XML export * waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py: Store selection to session. * waskaweb/model/case.py: Added model for selection. TODO: feed to XML export * waskaweb/templates/casemanagement/downloadXML.mako: add third button to select parts of the document. * waskaweb/templates/casemanagement/selectParts.mako: New. Parts of the case. 2008-06-04 Torsten Irlaender Implemented sorting in case overview. * waskaweb/config/routing.py waskaweb/controllers/case_overview.py waskaweb/model/case.py: Modified SQL search string. It now takes two additional params: the field on which the sorting will happen and the oder of the sorting. * waskaweb/templates/casemanagement/caselist.mako, waskaweb/public/styles/screen.css, waskaweb/public/images/icons/sort_asc.png, waskaweb/public/images/icons/sort_desc.png: Added sorting icons in the caselisting. 2008-06-03 Torsten Irlaender Implemented evaluation over subsets of cases and agencys (evaluation-server) * waskaweb/config/routing.py: Added new route for resetting the evaluation (evaluate over all cases again after defining a subset) * waskaweb/controllers/agency_overview.py: Added evaluation for agencys. Basically build a huge casebundle which will be uses for the evaluation. * waskaweb/controllers/case_overview.py: Implement evaluation over cases. * waskaweb/controllers/evaluate.py waskaweb/lib/evaluation.py, waskaweb/lib/sql_helper.py: Modified sql statements in evaluation to support subsets of cases. * waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Added evaluation to the selection field on overviewpages. Added reset param to the evaluate link in the main menue. Remove evaluation option from bundled actions if the users searches for cases of an particualr user (privacy) * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako: Added regular expression to check wheter the search string contains editor specific earch options. If so then hide evalution option in case-overview. 2008-05-30 Sascha L. Teichmann * Changes.txt: Adjusted for 1.0.2 2008-05-30 Torsten Irlaender Changed text for the reminders in the digest * waskaweb/templates/casemanagement/digest.mako: Suggest anonymisation instead of deleteing cases if they seems to be old. Changed version String * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed to Version 1.0.2 2008-05-30 Sascha L. Teichmann * waskaweb/model/appointment.py: Hotfixed SQL syntax not understood by psycopg2. 2008-05-29 Sascha L. Teichmann Fixed issue408 * waskaweb/model/appointment.py: Optimized query to figure out old inactive cases. 2008-05-29 Sascha L. Teichmann * waskaweb/lib/csv.py: Build list of used row indices once instead of repeated field lookup in black list. 2008-05-29 Torsten Irlaender Deactivated Appointments and Reminders on Blackboard for the evaluation server * waskaweb/controllers/waska.py, waskaweb/templates/start/start.mako: Display some information regarding to the evaluation server instead of reminders and appointments. Support bundled Actions for all agency at once. * waskaweb/config/routing.py: Added new route for agency_overview with reset parameter * waskaweb/controllers/agency_overview.py: Support doing an bundled action for all agencys * waskaweb/lib/validators.py, waskaweb/templates/casemanagement/agency_overview.mako: Add new checkbox to select all agencys. * waskaweb/templates/casemanagement/overview.mako: Add label to a formular element. * waskaweb/templates/main.mako: Reset agency selection when selection agencyoverview in the main menue Changed Version String and tagged Version 1.0.1 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Version string to 1.0.1 2008-05-29 Sascha L. Teichmann * waskaweb/lib/csv.py: Removed stupid creation of key/value tuples which resulted in heavy memory loads. 2008-05-28 Sascha L. Teichmann * waskaweb/lib/csv.py: Removed stupid sorting of rows. TODO: Do the same in XML and XSL export. * waskaweb/model/case.py: Removed usage of psycopg2.extras.DictCursor in CSV export. 2008-05-28 Sascha L. Teichmann * waskaweb/lib/csv.py: interned column names to save some memory. 2008-05-28 Sascha L. Teichmann * waskaweb/lib/csv.py: Make it O(N*logN) instead of O(N^2) 2008-05-28 Torsten Irlaender Performance improvment on caseoverview. * waskaweb/controllers/case_overview.py, waskaweb/controllers/waska.py, waskaweb/model/appointment.py, waskaweb/model/case.py: Do not load the State of an case for every case. Do it in one search query!. 2008-05-27 Torsten Irlaender Implemented xml and xsl export for the evaluation server * waskaweb/controllers/agency_overview.py: Implemented xml and xls export. * waskaweb/templates/casemanagement/agency_overview.mako: Added options for xml and xsl export to the choice list. * waskaweb/controllers/waska.py: Fixed permission to open start page for users with pb_ka role. 2008-05-27 Sascha L. Teichmann * waskaweb/lib/sql_helper.py: New. Optimizes WHERE id clauses. * waskaweb/lib/csv.py: Optimized export. TODO: get rid of needless sorts() and header info for each data set. 2008-05-27 Sascha L. Teichmann * waskaweb/lib/xmlimport.py: Do not call UPDATE on a dataset which has no fields to change. 2008-05-26 Torsten Irlaender Removed time in caselisting * waskaweb/controllers/case.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako: The caselisting does not longer contain the last access time to make the listing more compact. Reactivated custom formating in model/case.py. This was deavitvated due to problems with dates before 1900. Added try-except block to handle this. Fixed issue385 * waskaweb/config/routing.py, waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/renderer.py, waskaweb/model/casedocument.py, waskaweb/model/datapage.py, waskaweb/templates/casemanagement/main.mako: Basically inhertied a new class from DataPage which does not hold any data and therefor results in an empty formularpage. Drawback: An existend case is needed. 2008-05-20 Sascha L. Teichmann * waskaweb/model/help.py: Removed. Unused duplicate of waskaweb/lib/formular_help.py 2008-05-23 Torsten Irlaender Fixed issue267, Fixed bug that users can set standin without beeing the editor: * waskaweb/model/case.py: Add filtering of cases. * waskaweb/templates/casemanagement/caselist.mako: Some cleaup * waskaweb/templates/casemanagement/overview.mako: Added new checkbox to select all cases for bundled actions. * waskaweb/controllers/case_overview.py: Added logic to fetch alle cases if the user selects all cases. Filter out cases in set-standin bundled action if the user is not the editor * waskaweb/lib/validators.py: add new checkbox as valid form param. Fixed fix for issue267 * waskaweb/controllers/case_overview.py: Fixed issue with merging two dctionarys in a session. Before merging the dic is now copied 2008-05-21 Torsten Irlaender Another Fix for issue387 * waskaweb/public/styles/screen.css, waskaweb/templates/start/help.mako, waskaweb/public/images/icons/extern_link.png:Added icons to the external links on the help page to make it more clear that the user leaves the application on this point. Tagged as Version 1.0 2008-05-20 Torsten Irlaender Fixed issue387 * waskaweb/templates/start/help.mako: Added link to an external FAQ for the CM at the PT-DLR site. 2008-05-20 Sascha L. Teichmann * Changes.txt: Adjusted for Beta 30 2008-05-16 Sascha L. Teichmann Fixed issue263 * waskaweb/lib/security.py: Try to encode password as ASCII. If this fails an invalid password is given and login fails. 2008-05-16 Torsten Irlaender Fixed issue357 (part3) * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py: Use url_for function istead of ahrdcoding the url in the redirect method. Removed try except block which prevents redirects to work as expected. Redirects are relaized as exceptions in Pylons. Too general catching of exceptions lead to problemes. 2008-05-16 Sascha L. Teichmann Fixed issue357 (part 2) * waskaweb/controllers/CaseBase.py: Added a getNavigation() method which redirects to case overview ig no navigation exists. * waskaweb/controllers/case.py, waskaweb/controllers/rg_aid.py: use the new getNavigation() method. 2008-05-16 Sascha L. Teichmann Fixed issue297 * waskaweb/lib/security.py: Removed redundant call to method getDbName() * waskaweb/templates/casemanagement/downloadCSV.mako: Added warning about MS Excel * waskaweb/templates/casemanagement/overview.mako: Reordered export options. 2008-05-16 Torsten Irlaender Fixed issue200, issue136 * waskaweb/config/routing.py, waskaweb/controllers/case_overview.py, waskaweb/templates/main.mako: Searchoptions are now saved in a session and will be reused unitl the user selects the case overview from the mainmenu. In this case the session will be reset and a search is done with the default search options. 2008-05-15 Sascha L. Teichmann Fixed issue262 * waskaweb/model/case.py: Catch KeyErrors for none-existing parameters. 2008-05-15 Sascha L. Teichmann Fixed issue287 * waskaweb/lib/db.py: replaced '\' with '\\' in passwords. 2008-05-15 Sascha L. Teichmann Fixed issue357 * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py: redirect to case overview if we don't have a session. 2008-05-15 Sascha L. Teichmann Fixed issue360 * waskaweb/lib/security.py: The user identity is only the browser signature. 2008-05-15 Torsten Irlaender Fixed issue351 * waskaweb/controllers/case.py, waskaweb/model/appointment.py, waskaweb/templates/appointments/show_body.mako: Changed behavior if the user enters no enddate. Now the enddate will be NULL in database. Changed the SQL-Statement. If no enddate ist given, than take startdatum as enddatum (coalesce). Further fixed an ISE when entering a date in a wrong format while editing a appointment. Fixed issue222: * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/lib/validators.py, waskaweb/templates/usersettings/change_password.mako: Fixed spelling and removed dupclicated columns. Changed error-message in case the user enters an unsafe password. Fixed issue379: * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/bundle_standin.mako: Usergroups are now loaded for selecting groups as standin. Modfied mako template to work with usergroups. 2008-05-14 Torsten Irlaender Fixed issue372 * waskaweb/lib/evaluation.py: Changed SQL query of Evaluation 7. It was a worng table referenced. Fixed issue374 * M waskaweb/lib/evaluation.py: Check if there will be a null-devision. If so set divisor to 1. 2008-05-14 Sascha L. Teichmann Fixed issue375 * waskaweb/templates/casemanagement/organisation.mako: Uses group name correctly now. 2008-05-13 Sascha L. Teichmann * waskaweb/templates/main_help.mako: New. Was missing. Caused an ISE when clicking on on-line help. 2008-05-13 Sascha L. Teichmann * waskaweb/controllers/case.py: Removed printing of new errors to Apache error log while saving a page. This spamed the the log a lot. 2008-05-13 Sascha L. Teichmann * waskaweb/lib/base.py: Added error logging when raising HTTPUnauthorized exceptions. 2008-05-13 Sascha L. Teichmann * waskaweb/controllers/case.py: Removed wrong check for changed cases in edit controller which pervented editing 'Unterstuezungsangebote'. * Changes.txt: Replaced tabs with spaces. 2008-05-09 Sascha L. Teichmann * waskaweb/lib/xmlimport.py: lower() incoming uuids to prevent mismatches. 2008-05-09 Torsten Irlaender Fixed issue355 * waskaweb/lib/renderer.py: Added submitbuttons to the top of each formular page Fix in listing the standin for standin * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/organisation.mako: The user who is standin now gets listest in the list of standin user if he is logged in as standin. * waskaweb/controllers/waska.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/model/appointment.py, waskaweb/templates/start/appointmentlist.mako, waskaweb/templates/start/start.mako: Appointment are now displayed one day longer. Changed the structure of appointments on the startpage. automatically generated reminders are now dislplayed exclusive in the automatic reminders section. Alle other appointments get listes in section "own appointments" 2008-05-08 Sascha L. Teichmann * waskaweb/lib/security.py: Use only the 'www.xxx.yyyy' part of 'www.xxx.yyy.zzz' IPv4 and the part before the last ':' in IPv6 addresses for session hi-jacking prevention. Attackers coming from the same subnet are not longer detected. :-/ 2008-05-08 Torsten Irlaender Changes.txt angepasst und das Datum der Beta geändert. Tag der Version verschoben. Fixed issue256 and a hotfix for the user and usergroup list when setting the editor or standing. * waskaweb/controllers/case.py, waskaweb/controllers/usersettings.py, waskaweb/lib/security.py: Set gid for session user. now we can filter out the usergroup in various listings. Fixed issue202 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/dialogs/bundle_noselection.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_setstandin.mako, waskaweb/templates/casemanagement/downloadCSV.mako, waskaweb/templates/casemanagement/downloadXLS.mako, waskaweb/templates/casemanagement/downloadXML.mako: Unified breadcrumbs on bundled actions. 2008-05-07 Sascha L. Teichmann * Changes.txt: Adjusted to Beta 29 2008-05-07 Torsten Irlaender Fixed setting of standin * waskaweb/controllers/case.py: Implementation of usergroup broke the setting of editors. Fixed that. 2008-05-07 Torsten Irlaender issue361 * db_setup/install/01waska_tmpl.sql: adjusted formedtree to the model. 2008-05-07 Sascha L. Teichmann * waskaweb/controllers/administration.py: Reverted last change because of special case 'Auswertungsserver' * waskaweb/templates/administration/new_user.mako: Take special case 'Auswertungsserver' into account. 2008-05-07 Sascha L. Teichmann * waskaweb/controllers/administration.py: If logged in as 'adm' force new users to be 'Admin-KA's. 2008-05-07 Sascha L. Teichmann * waskaweb/templates/administration/new_user.mako: If logged in as 'adm' only allow creation of 'Admin-KA' users. 2008-05-06 Sascha L. Teichmann Fixed issue362 * waskaweb/lib/helpers.py: Added check for None before converting dates to strings. 2008-05-06 Sascha L. Teichmann Fixed issue359 * waskaweb/controllers/waska.py: Added checkRole to start(). Only logged in people should see the 'Schwarzes Brett'. * waskaweb/lib/security.py: Catch dbapi.OperationalError in checkRole decorator. In this case raise an Unauthorized exception because its likely in invalid login attempt. 2008-05-06 Sascha L. Teichmann * waskaweb/public/images/anonym.gif: New. Wasn't in version control but needed by application. 2008-05-06 Sascha L. Teichmann * waskaweb/model/case.py: Fixed int(None) error. 2008-05-06 Sascha L. Teichmann * waskaweb/lib/security.py: Catch dbapi.OperationalErrors at login. These are likely login failure. Is there a more precise way with DB API 2.0 to check this database independent? 2008-05-06 Sascha L. Teichmann * waskaweb/lib/base.py: Out commented log message on redirection if not logged in. This one spammed the error log file of Apache. 2008-05-06 Sascha L. Teichmann Fixed issue357: * waskaweb/controllers/CaseBase.py: check in _getFormNavigation() if case really exists. 2008-04-30 Torsten Irlaender Fixed issue94: * formed/waska-hilfetexte.xhtml, waskaweb/templates/casemanagement/help.mako: Added headers to the helptexts to bring them into a better relation to the forumular field. Changed Layout of the helpwindow. Removed "sponsors" 2008-04-30 Sascha L. Teichmann Fixed issue297 * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/downloadCSV.mako, waskaweb/templates/casemanagement/downloadXML.mako: Set HTTP header 'Content-Disposition=attachment; filename="fallakten-export.(xml|csv|xls)"' 2008-04-29 Torsten Irlaender Fixed issue346 * waskaweb/public/styles/color3.css, waskaweb/templates/start/start.mako: Fixed Syntax error in appointment overview. Changed style of border in the table_header to 1px (was 0.5pt) Fixed issue347 * waskaweb/controllers/case.py: Called noexistend attribute of the appointment class. Changed default end_date for appointments * waskaweb/model/appointment.py: If no enddate is submitted, then end_date is equal start_date. 2008-04-29 Sascha L. Teichmann * waskaweb/lib/xmlexport.py: Changed order of repeat groups to fit the XML schema. 2008-04-28 Torsten Irlaender Reduced length of printout * waskaweb/controllers/case.py, waskaweb/public/styles/print.css: Changed fontsize to 10pt/12pt. No pagebreaks after heading issue184: Detect change of the case (this is more a pseudofix :( ) * waskaweb/controllers/case.py, waskaweb/controllers/navigation.py, waskaweb/model/case.py: Compare saved caseid with provided case id in the controller. If the ids differ, open the new case. Fixed issue345 * waskaweb/templates/appointments/appointmentlist.mako, waskaweb/templates/casemanagement/appointmentlist.mako, waskaweb/templates/casemanagement/reminderlist.mako: Changed alt text of delete images to "delete" instead of "show" 2008-04-28 Sascha L. Teichmann Fixed issue305 part 2 (mako templates) * waskaweb/model/appointment.py: Removed formating from get(Start|End)Date. * waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/remindlist_body.mako, waskaweb/templates/appointments/show_body.mako: Use helper functions to format the dates. 2008-04-25 Sascha L. Teichmann Fixed issue265 * formed/aid_plan_statement.html, formed/discretion_statement.html, formed/privacy_statement.html: Removed needless extra chars in style import. 2008-04-25 Sascha L. Teichmann Fixed issue305 * waskaweb/lib/helpers.py: New methods to format date/datetime because strftime dislikes dates before 1900. * waskaweb/controllers/appointment.py, waskaweb/controllers/case.py waskaweb/model/case.py, waskaweb/model/repeatgroup.py: Use the helper functions now to format date/datetime 2008-04-25 Torsten Irlaender Fixed issue61 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/main.mako, waskaweb/templates/start/help.mako, waskaweb/templates/start/responsible.mako, waskaweb/templates/usersettings/change_password.mako, waskaweb/templates/usersettings/show_settings.mako: Added breadcrumbs to pages in startmenu. Fixed issue131 * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/agency_overview.mako: Added encoding information in those files. Fixed issue112 * waskaweb/controllers/case.py, waskaweb/model/navigation.py: Modified function "getTreeItemByPageName" to return the treeitem which will be actually rendered. This way we can collect all headers for the formularpage Fixed issue223 * waskaweb/controllers/case.py, waskaweb/model/navigation.py: Fixed getAllItemsFunction. Modified printAll function to only render content only leafes. Headers are renderes for all items Fixed issue178 * waskaweb/controllers/case.py: Only proceed to next page after savining if the formular does not contain any errors. Else stay on the same page and show errors Fixed issue241 * formed/formedtree_web.xml: Fixed typo: Schulttest > Schultest 2008-04-24 Torsten Irlaender Fixed ISE when entering invalid data on usergroup editing * waskaweb/controllers/administration.py: Load usergroup in error case too. Fixed issue335 * waskaweb/controllers/administration.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Added lastname, firstname and login of the user to be deleted to the confimration dialog. Partially fixed issue259 * waskaweb/lib/evaluation.py: Fixed header of csv-files. Using the translated string here too. 2008-04-23 Frank Koormann Fixed issue325 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Typos in statement_explaination_ud fixed 2008-04-23 Sascha L. Teichmann Fixed issue248 * waskaweb/lib/pdfimporter.py: If 'Mutter' of 'Vater' is found in context of 'Formular1' we a v1.0 pdf containing 'Geburtsland_Mutter' and 'Geburtsland_Vater'. This detailed information is aggregated to the info if they are born in Germany. 2008-04-23 Torsten Irlaender Updated formedtree * formed/formedtree_web.xml: Replaces formedtree with a newer version Fixed bug when when changing into edit mode after selecting a page over the folder symbol in a fresh selected case. * waskaweb/controllers/navigation.py: Take either this stored page_id or submitted. Added note if the usergroup has no members * waskaweb/templates/administration/show_usergroup.mako: Fixed small bug which prevents the note beeing shown. 2008-04-22 Torsten Irlaender Implemented showing and editing of usergroups * waskaweb/controllers/administration.py: Added new controller for showing and editing usergroups * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: New translation strings for dialogs * waskaweb/lib/validators.py: Fixed EditUserGroup Validation * waskaweb/model/user.py: Added method for setting users in the groups. * waskaweb/templates/administration/dialogs/success_edit_usergroup.mako, waskaweb/templates/administration/edit_usergroup.mako, waskaweb/templates/administration/show_usergroup.mako: New. Added templates for showing and editing usergroups. Fixed issue304 * waskaweb/lib/evaluation.py: Fixed grouping of age classes. Fixed display of standard standin. * waskaweb/model/user.py: Fixed loading and setting values of the UserGroup. Fixed tableheader of standin in organsation * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/organisation.mako: Fixed naming of the tableheader. 2008-04-21 Sascha L. Teichmann Fix for issue301 * waskaweb/lib/helpers.py: Added function getUserLastname() * waskaweb/templates/main.mako: Only print the lastname if logged in as adm user. 2008-04-21 Torsten Irlaender Implemented usergroup listing * waskaweb/controllers/administration.py: Added method to show usergroups. The groups of each user (immutable groups) are filtered * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added new translation strings * waskaweb/templates/main.mako: Added link to the group overview. * waskaweb/templates/administration/overview_usergroups.mako: List usergroups. Implemented adding and deleting of usergroups waskaweb/controllers/administration.py * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: New translated string in the dialogs * waskaweb/lib/validators.py: New validator for adding new groups (groupname must not be empty) * waskaweb/model/user.py: Added Factory for creating and loading usergroups. Added delete method to the usergroup class. * waskaweb/templates/administration/overview_usergroups.mako: Give some info if no usergroups are present. * waskaweb/templates/administration/dialogs/confirm_deleteusergroup.mako, waskaweb/templates/administration/dialogs/failed_deletegroup_user.mako, waskaweb/templates/administration/dialogs/failed_new_usergroup.mako, waskaweb/templates/administration/dialogs/success_deletegroup_user.mako, waskaweb/templates/administration/dialogs/success_new_usergroup.mako, waskaweb/templates/administration/new_usergroup.mako: New. Added new dialogs for adding and deleting new usergroups. 2008-04-18 Torsten Irlaender Fixed error on evaluation in evaluation (Vermittlung) * waskaweb/lib/evaluation.py: Changed SQL statements. Adjusted the show user dialog in the administration to work with usergroups now. * waskaweb/controllers/administration.py, waskaweb/templates/administration/show_user.mako: Load usergroup instead of user. 2008-04-17 Sascha L. Teichmann * waskaweb/lib/excel.py: Extended limit to 32765 characters. 2008-04-17 Sascha L. Teichmann * waskaweb/lib/excel.py: Limit text in cells to 16383 characters. 2008-04-15 Torsten Irlaender Adopted dialogs for setting the standard standing to the new group standing policy * waskaweb/controllers/usersettings.py: Adjusted controllercode to load groups instead of users for standin. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Added note that the list now consists of groups too. * waskaweb/model/user.py: Added new classes for usergroup and usergrouplist, added sql statements. and fixed setStandin method. * waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/usersettings/edit_standin.mako, waskaweb/templates/usersettings/show_settings.mako: Adjust templates. Listing os now grouplisting. Adjusted code of the organisation page to work with the new standin group policy * waskaweb/controllers/case.py: Load groups instead of users. * waskaweb/model/case.py: Renamed vars and methods in Standin to reflect that is handles groups not not users. * waskaweb/model/user.py: Implemented filtering for grouplists. * waskaweb/templates/casemanagement/organisation.mako: List groups instead of users. 2008-04-15 Torsten Irlaender Tagged Beta 28 issue285: Handle canceled cases * waskaweb/controllers/case.py, waskaweb/model/appointment.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako: If a case is cancled it will be handled in the same way like cases with finished aftercare. 2008-04-15 Sascha L. Teichmann * ChangeLog.txt: Tagged as Beta 28 2008-04-14 Sascha L. Teichmann * waskaweb/templates/casemanagement/downloadXML.mako: Open XML export in a separate window. 2008-04-14 Sascha L. Teichmann * Changes.txt: Adjusted to splitted evaluation result. 2008-04-14 Torsten Irlaender Added missing result of evaluation * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako: Added missing evaluation. It got lost during restructuring the evaluation results. 2008-04-12 Sascha L. Teichmann * waskaweb/templates/casemanagement/digest.mako: Fixed typos. 2008-04-10 Torsten Irlaender Fixed issue285. * waskaweb/controllers/case.py, waskaweb/model/appointment.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako: Changed text of the reminder dialogs. Fixed ISE after creating a new case * waskaweb/controllers/case.py: Added targeturl for the missing-statement dialog. Changed workflow of declining the statement (anonymisation) * waskaweb/controllers/statement.py, waskaweb/templates/casemanagement/main.mako: Selecting "no" in confirmation dialog for anonymisation opens the case again. Depending on the state of the privacy statement the missing statement will be opend or the case digest. Fixed issue288 * waskaweb/controllers/evaluate.py: Added new param to the evaluation method. Depending on this param a different resultpage will be rendered. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: New Translations for the resultpage. * waskaweb/templates/main.mako: Call evaluation with default for 1 resultpage. * waskaweb/templates/casemanagement/evaluation/evaluation_result_1.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_2.mako, waskaweb/templates/casemanagement/evaluation/evaluation_result_3.mako: New resultpages fpr the evaluation. * waskaweb/templates/casemanagement/evaluation_result.mako: Removed. Old resultpage. 2008-04-11 Sascha L. Teichmann * Changes.txt: Summarized changes since last release. 2008-04-10 Sascha L. Teichmann * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/downloadCSV.mako: Applied plain-csv-export_beta27.patch to server CSV case exports as plain text. 2008-04-10 Torsten Irlaender Changed creating of reminders depening on aftercasestate. * waskaweb/controllers/case.py: Added flag to indicate if a the aftercare of a case is finished. This flag determines about how the reminders will be displayed. * waskaweb/model/appointment.py: Changed to ReminderOverview Controller. Depending of the state of aftercare it will look for the latest date of each case of create a reminder if the date is older than the max savetime. * waskaweb/model/case.py: The stateobject now have information about state of aftercare and the latest date of the case. * waskaweb/templates/casemanagement/digest.mako: Modified dialogs in the digest giving information about last modification and the maxsavetime. Added form validtion to edit agency-settings. * waskaweb/controllers/administration.py: Fixed ISE when validation fails. * waskaweb/lib/validators.py: Added check that maxsavetime must not be null * waskaweb/templates/administration/edit_settings.mako: Errors in Formular are now displayed at the top of the page Added new validator for Int-values: * waskaweb/lib/validators.py: Addded an new Int-validator with the capability to check max and min value. This was actually copied from a newer version of formencode. Added date and time check for appointments. * waskaweb/lib/validators.py: Beside checking if the date is given in a correct format, we now check if the date is valid (e.g 45.12.2008). Checks for time also included. Removed default end-date from appointments * waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/lib/validators.py, waskaweb/model/appointment.py: The enddate is not a manditroy field anymore. The field isn't prefilled in the formular. Default duration of an appointment with not endate/endtime is 1 day. This value will be inserted into the database. Reminders do not vanish anymore when start_date or end_date is exceeded. * waskaweb/model/appointment.py: Changed SQL statement for fetching reminders. Dates are irrelevant for reminders now! Just fetch all appointments which are classified as reminders Show type of appointment when viewing appointments details * waskaweb/templates/appointments/show_body.mako: Added type of the appointment to the template Do not display link to create a reminder for the admin * waskaweb/templates/casemanagement/main.mako: Added rolecheck for the quicklink to create a reminder for the case. Fix for error message on rangetest of int values. * waskaweb/lib/validators.py: Changed error messge in MaxMinInt-Validator 2008-04-08 Frank Koormann Improved fix for issue277 * waskaweb/model/navigation.py: Include the general checks on item's children into the has* methods. 2008-04-08 Torsten Irlaender Made Fix for issue277 more robust * waskaweb/model/navigation.py: Instead of hardcoding the pageid of the aidoffers to display this item as formular instead of a folder, we now check if the page has children which are enabled (visible). 2008-04-07 Sascha L. Teichmann * waskaweb/lib/excel.py: Fixed encoding problem. Now its generated in Unicode. 2008-04-07 Sascha L. Teichmann * waskaweb/lib/excel.py: Fixed naming in headers. 2008-04-07 Sascha L. Teichmann * waskaweb/controllers/case_overview.py, waskaweb/lib/excel.py: Fixed small ISEs while exporting as XLS. 2008-04-07 Sascha L. Teichmann * waskaweb/controllers/case_overview.py: Add code to download as XLS * waskaweb/model/case.py: Make case bundle exportable as XLS * waskaweb/templates/casemanagement/overview.mako: Added option to download case bundle as XLS. * waskaweb/templates/casemanagement/downloadXLS.mako: Dialog for XLS download. 2008-04-07 Sascha L. Teichmann * waskaweb/lib/csv.py: Fixed minor bug. * waskaweb/lib/excel.py: New. exports as cases as Excel-Spreadsheets. 2008-04-07 Torsten Irlaender Fixed issue269: * formed/privacy_statement.html: Changed text of the privacy statement bases on a new template from the DLR. Added additional information on lastaccesstime and remaining days until maxsavetime is reached to the case digest. * waskaweb/controllers/case.py: Load last-accesstime and maxsavetime * waskaweb/model/case.py: Added function which returns the remaining days until the max-savetime for the case is reached * waskaweb/model/appointment.py: Make use of the new daysToMaxSavetime function on calculation of the maxsavetime reminders. * waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/digest.mako: Added new box to display the max savetime an last-accesstime in the digest. Changed style for the additional information. * waskaweb/templates/appointments/edit_body.mako: Only show reminders for cm-users. (admin can not have any cases anyway) Added new discretion statement. Reorganised privacy statement. There is now a central page where all statements are listed. * waskaweb/controllers/statement.py: Added new methods to render the list of available statements and to print the new descretion statement. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: New translation string for the discretion statement. * waskaweb/model/agencysettings.py: Added new method to get the discretion statement. * waskaweb/model/case.py: Added new method to get a filled out version of the discretion statement for a case. * waskaweb/model/statement.py: Added new statement to the model. * waskaweb/templates/casemanagement/main.mako: Removed printPrivycyStatement-link from the PrivacySection and added new link to the list of available statements. * formed/discretion_statement.html: New. Default descretion statement. * waskaweb/templates/statement/list_statements.mako: New. Central page where all available statements are listed. Fixed issue277: * waskaweb/model/navigation.py: Added special Rule for the aiplan overview in the navigation tree. It is now displayed with a page-symbol instead of a folder symbol. 2008-04-06 Frank Koormann * waskaweb/lib/helpers.py (getKAName): We want the OU != WASKA. 2008-04-04 Torsten Irlaender Fixes and html escaping for appointments. * waskaweb/lib/filters.py: Added optional parameter "lenght" for the shorten function. * waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/remindlist_body.mako: Added html-escaping. * waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/showAppointment.mako: The links to edit an appointment are now only shown for users who are allowed to edit the appointment (rolecheck). * waskaweb/templates/appointments/show_body.mako: Replace newlines with html-
for description. Implemented manual reminders for cases * waskaweb/controllers/case.py: Added methods to create a new reminder. Basically this is a clone of the new appointment controller, but this fillout some fields (name of the kid). * waskaweb/controllers/waska.py: Combine the remindlist with the maxsavetime list * waskaweb/model/appointment.py: Added new classes regarding to the remindlist. Added new attrubibute type which differs between normal appointments and reminders. Changed that all appointments which are after now() are displayed to a more softer rule that all appointments of today and in futuer are displayed. * waskaweb/templates/appointments/edit_body.mako: Added selection field to choose which kind of appointment will be created. * waskaweb/templates/casemanagement/main.mako: Added new link to the main menu which leads directly to the create appointment dialog. * waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/start/start.mako, waskaweb/templates/appointments/remindlist_body.mako, waskaweb/templates/casemanagement/reminderlist.mako, waskaweb/templates/start/remindlist.mako: Added new templates for the listing of appointments. Note, this whole thing is not as nice as it could be but it works. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added some translations 2008-04-03 Torsten Irlaender Implemented appointment list on startpage * waskaweb/config/routing.py: Changed route for showAppointment. It now takes an optional confirmed param (defaults to 1). * waskaweb/controllers/case.py: Added new decorator "checkPrivacyStatement" which could be used if some functions of a case will be calles from somewhere else than in the case (e.g appointments on startpage). Then we need to bound in the nag screen handling the privacy-statement. * waskaweb/controllers/waska.py: Load reminders and a united list of global and caseappointments. * waskaweb/model/appointment.py: Changed inheritance of the Appointment overviews. Added methods to set the appointmentslist or join two overview object to one. Furter added a sorting algorithm for sorting appointments in the overview. * waskaweb/controllers/appointment.py: Instanciate GlobalAppointmentOverview instead of AppointmentOverview. * waskaweb/templates/start/start.mako, waskaweb/templates/start/appointmentlist.mako: Added appointmentlists to the startpage. * waskaweb/templates/statement/dialogs/missing_statement_body.mako: Made this dialog a little bit more generic. The URL which will be called if the user selects that the state of the statement is further unclear, is now dynamic and provided through the c.targeturl param. Restructured loading of cases * waskaweb/controllers/case.py: Because loading of cases can now be triggerd from more places than selecting a case from within the case overview the code for loading a case is now seperated in a new function load_case. This function can be calles from other places (e.g checkprivacy-decorator) 2008-04-02 Torsten Irlaender Implemented adding of case-specific appointments * waskaweb/controllers/appointment.py: Added default value (htmlfill) for case_id * waskaweb/controllers/case.py: Added controller-functions to add a new appointment. * waskaweb/model/appointment.py: createNew-method of the factory now take an optional "case_id" parameter. * waskaweb/templates/appointments/edit_body.mako: Added hidden field for the case_id * waskaweb/templates/casemanagement/appointments.mako: url for adding new appointments is now dynamically generated (h.url_for) * waskaweb/templates/casemanagement/dialogs/success_create_appointment.mako, waskaweb/templates/casemanagement/newAppointment.mako: New. Dialogs for adding a new appointment. Success-dialog after the appointment was added. Implemented editing of case-specific appointments * waskaweb/controllers/case.py: Added new function to edit the appointment. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Changed some strings in the editing dialogs. * waskaweb/model/appointment.py: ID of an appointment can not be set in the setData anymore (wasn't needed anyway). * waskaweb/templates/appointments/edit_body.mako: Added hiddenfield for the appointmentid (needed only for editing) * waskaweb/templates/casemanagement/dialogs/success_edit_appointment.mako, waskaweb/templates/appointments/edit.mako, waskaweb/templates/casemanagement/editAppointment.mako: New. Dialogs for editing an existing appointment. Success-dialog after editing. Changed sorting of appointments * waskaweb/model/appointment.py: Only appointments are listed in the overview page if either the startdate or enddate of the appointment is in the future. Otherwise the appointment doesn't get listet anymore. appointments are ordered ascending by the startdate. 2008-04-01 Torsten Irlaender Fixed issue45 * waskaweb/controllers/case.py, waskaweb/model/casedocument.py, waskaweb/model/data.py: Added new Proxy for nodecomponents. It takes the submitted dicionary of a formular submission. The Proxy only returns those elements which are also in the provided dicionary. This proxy is only used when creating a new case with a formular. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Small typo fix. Fixed issue252 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Shorten text Fixed issue259 * waskaweb/lib/evaluation.py: Added commentline to the exportfiles of each evaluation containing some additional information. 2008-03-31 Sascha L. Teichmann * waskaweb/controllers/case.py: Call XML import. * waskaweb/templates/casemanagement/upload.mako: Modified to show XML import dialog too. * waskaweb/templates/casemanagement/dialogs/failed_xml_import.mako, waskaweb/templates/casemanagement/dialogs/success_xml_import.mako: New. Shown after XML import. 2008-03-31 Sascha L. Teichmann * waskaweb/lib/xmlimport.py: New. XML import. 2008-03-31 Sascha L. Teichmann * waskaweb/model/case.py: Use new import. * waskaweb/lib/xmlimport.py -> xmlexport.py: Was named incorrectly. 2008-03-31 Sascha L. Teichmann * waskaweb/controllers/case_overview.py: Use correct dialog now. * waskaweb/lib/xmlimport.py: Don't use the anon views. 2008-03-31 Sascha L. Teichmann * waskaweb/lib/xml.py -> xmlimport.py: To avoid problems with xml.* imports. * waskaweb/model/case.py: use new import. 2008-03-31 Sascha L. Teichmann * waskaweb/controllers/case_overview.py: call XML import. * waskaweb/templates/casemanagement/overview.mako: Added option to export cases as XML. * waskaweb/templates/casemanagement/downloadXML.mako: New. Confirmation dialog for XML download. 2008-03-31 Sascha L. Teichmann * waskaweb/controllers/case_overview.py: Added code to call XML export. 2008-03-31 Sascha L. Teichmann * waskaweb/lib/xml.py: New. Contains XML export. 2008-03-31 Torsten Irlaender Fixed issue255 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/evaluation_result.mako: Added small note to the migration evaluation telling the user which criteria is important for the evalutation. Partially fixed issue258 * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/upload.mako: Added checkbox to enable direct anonymisation of an imported pdf-file. * waskaweb/templates/casemanagement/dialogs/failed_anonymize.mako, waskaweb/templates/casemanagement/dialogs/success_import_anon.mako: New. Added success dialog which is show after a case was imported and anonymized. Further added failed dialogs, which is generally showm if something goes wrong while importing pdf file Further Fixes for issue258 * waskaweb/templates/statement/dialogs/missing_statement.mako, waskaweb/templates/statement/dialogs/missing_statement_body.mako: This dialog now has 3 options to choose from: 1) The statement is accecpted, statement is declined, statement is still unclear. Separated the body of the dialog, so it can be used in other places. * waskaweb/controllers/case.py, waskaweb/templates/statement/edit.mako.old, waskaweb/templates/statement/edit.mako: Changed the dialog for setting the privacy statement after the case was already opend. This dialog is now the same as it the dialog shown when opening a case with missing statement. * waskaweb/controllers/statement.py: Changed headers in the statement dialog. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Changed text in statement dialog 2008-03-28 Torsten Irlaender Fixed issue128 * waskaweb/lib/helpers.py: Iterate over SSL_CLIENT_S_DN in HTTP-Headers. string and take the second OU for the kaname. Partially Fixed issue259 * waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation_result.mako: Fixed CVS export of migration evalauation. Furter changed naming of the xported files. The filenames now fits to the numbering of the evaluations. Partially Fixed issue255 * waskaweb/lib/evaluation.py: Mothertounge is now the only criteria for migration background in evaluation. Fixed issue274 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/organisation.mako: Gendermainstreamed the namings on this page. Implemented editing of global appointments * waskaweb/controllers/appointment.py, waskaweb/templates/appointments/dialogs/success_edit_appointment.mako, waskaweb/templates/appointments/edit.mako: Added method to edit a global appointment. New successdialog. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/showAppointment.mako: Fixed some translation issues Implemented adding of new global appointments * waskaweb/controllers/appointment.py: Added methods to create global appointments. * waskaweb/lib/validators.py: Added new validator which checks if the given datestring is in a valid format. TODO: Check if the data and time is valid e.g 31.02.2008 or 25:78. * waskaweb/model/appointment.py: Some restructure of the inheritence of the appointment classes. Added SQL statements for creating and storing appointments. * waskaweb/templates/appointments/dialogs/success_create_appointment.mako: New. Successdialog for creating global appointments. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/edit_body.mako: The formular is in the same design like the rest. Error messages are displayed above the form and fields are hightlighted red in case of an error. Added translation string. 2008-03-27 Torsten Irlaender Partially fixed Issue268 * waskaweb/templates/administration/show_settings.mako: Show maxsavetime for cases in agency setting. Should this setting be editable? Fixed issue270 * waskaweb/controllers/case.py: Choosing "No" in confirmation dialog of the anonymisation of a case now opens the digest of a case. Additionally added the navigation to the confirmation dialog of open/close case and anonymisation. Fixed issue269 * formed/privacy_statement.html, waskaweb/model/statement.py: Changed text of the EE handling the maxsavetime of a case from months to days, as the savetime is entered in days in the agencysettings. 2008-03-26 Torsten Irlaender Listing of appointments now basically works * waskaweb/model/appointment.py: AppointmentOverview now works for global and case appointments. Appointments now have a getStart- getEndDate function which optionally takes a format string. * waskaweb/public/styles/all.css, waskaweb/templates/appointments/overview_body.mako: Worked on the layout of the appointment listing. * waskaweb/templates/casemanagement/appointmentlist.mako, waskaweb/templates/appointments/appointmentlist.mako: Call the correct controller methods. Implemented viewing of appointments * waskaweb/controllers/appointment.py waskaweb/controllers/case.py: Implemented loading an appointment. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added new translation strings. * waskaweb/model/appointment.py: Added Global- and CaseAppointmentFactory. * waskaweb/templates/appointments/show.mako, waskaweb/templates/appointments/show_body.mako, waskaweb/templates/casemanagement/showAppointment.mako: New templates for viewing a appointment. Implemented deleting of appointments * waskaweb/templates/appointments/dialogs/failed_delete_appointment.mako, waskaweb/templates/appointments/dialogs/success_delete_appointment.mako, waskaweb/templates/casemanagement/dialogs/confirm_delete_appointment.mako, waskaweb/templates/casemanagement/dialogs/failed_delete_appointment.mako, waskaweb/templates/casemanagement/dialogs/success_delete_appointment.mako: New. Added new confirmation and notification dialogs for deleting appointments. * waskaweb/config/routing.py: Added new route for deleting case appointments. * waskaweb/controllers/appointment.py waskaweb/controllers/case.py: Added new delete controller method. * waskaweb/model/appointment.py: Some changes on the AppointmentFactorys. Added delete method. * waskaweb/templates/appointments/appointmentlist.mako, waskaweb/templates/casemanagement/appointmentlist.mako: Only show the delete link if the user is allowed to delete appointments. 2008-03-25 Torsten Irlaender Remindlist for cases with expired max savetime * waskaweb/controllers/waska.py: Load MaxSaveTimeReminders. * waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako: Default return value of getAccessTime is the timestamp-object. Optionally a format string can be provided. Then the time is returned as string. * waskaweb/public/styles/all.css: Added new style for appointment listings. * waskaweb/templates/start/start.mako: Added reminder listing for cases with expired max savetime to the startpage. * waskaweb/model/appointment.py: New. Model for Appointment and Reminders. Preparation for the listing of appointments * waskaweb/controllers/appointment.py, waskaweb/controllers/case.py: Load appointment overview. * waskaweb/model/appointment.py: AppointmentOverview can now setup for the global appointments or if a caseid is provided for the case appointments. * waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/appointments.mako: Cleanup of the listing of appointments. overview_body can now be used to be inherited in other files. * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: Reenabled appointments. * waskaweb/templates/appointments/appointmentlist.mako, waskaweb/templates/casemanagement/appointmentlist.mako: New. These files are inherited from the appointments/overview_body and include module specific (appointments, case) functionionality. 2008-03-20 Torsten Irlaender * Changes.txt: Added missing feature of saving the last access time. 2008-03-17 Torsten Irlaender * waskaweb/model/case.py: Small fix for casesearch. Display cases if kundennummer and name and vorname are null (in case of anonymized cases e.g). Before the case was listed if one of the above fields was None. * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: Privacy field is only displayed for cm users. * waskaweb/controllers/case_overview.py: Fixed filtering for delete bundle actions. Only cases wich are anonymized or marked for deletion can be deleted. * waskaweb/model/statement.py: Removed None-Values in Privacy-statement. * waskaweb/templates/administration/overview_user.mako: Fixed syntax error on image title. titel > title * waskaweb/templates/administration/edit_user.mako: Fixed missing closing of a fieldset. 2008-03-17 Sascha L. Teichmann * waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/usersettings/change_password.mako: Fixed HTML 2008-03-17 Sascha L. Teichmann * waskaweb/templates/administration/overview_user.mako: Fixed HTML titel -> title. 2008-03-13 Torsten Irlaender * Changes.txt: Added new features and improvements of the upcoming release. 2008-03-12 Sascha L. Teichmann * waskaweb/lib/csv.py: Removed redundant calculation of filling cells. 2008-03-12 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py, waskaweb/lib/helpers.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/bundle_editor.mako, waskaweb/templates/casemanagement/bundle_standin.mako: Display placeholder "--/--" in case of cases with no first or lastname. Removed unneeded check of state in casemodel when deleting. Earlier check of the casebundele when deleting or marking if there is at least one case which can be deleted (valid state 4 or 5). Else show a dialog. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Added translated text for anonymizing the case directly. * waskaweb/templates/casemanagement/main.mako: Added link to anonymize the case directely in the privacy section. * waskaweb/config/routing.py: Added new roue for anonymize function * waskaweb/templates/casemanagement/dialogs/confirm_anonymize.mako, waskaweb/templates/casemanagement/dialogs/success_anonymize.mako: New. Confirmation and Success Dialog for anonymisation. * waskaweb/controllers/case.py, waskaweb/model/case.py: Added controllerfunction to anonymize the case * waskaweb/controllers/CaseBase.py, waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview.mako: Added CSV-Export for bundled cases for the normal server (evaluation server aready includes CSV-export). Improved filtering of cases in the bundleAction method. * waskaweb/templates/casemanagement/downloadCSV.mako: Replaced hardcodes links with c-vars containing links. 2008-03-12 Sascha L. Teichmann * waskaweb/model/case.py: After anonymization all attachments of case are deleted. 2008-03-11 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/model/case.py: Fixed call of anonymize function. Fix for selecting bundle of anonymize cases for deletion. 2008-03-11 Sascha L. Teichmann * waskaweb/model/case.py: Call db function to anonymize a case. 2008-03-11 Torsten Irlaender * M waskaweb/controllers/statement.py, M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, M waskaweb/i18n/waskaweb.pot, M waskaweb/templates/casemanagement/main.mako, M waskaweb/templates/statement/edit.mako: The privacy statement can now be revoked. The privacy menu on the left side is now always displayed. Its content depends on the state of the privacy statement: Is not set yet -> set statement, print statement. Statement is signed -> revoke statement. * M waskaweb/controllers/statement.py, M waskaweb/model/case.py: Added anonymize function to the case-model. TODO: Implement SQL-based anonymize-function and call it! For now only the state of the case is set to "5", wich is the anonymized state. * M waskaweb/controllers/statement.py, M waskaweb/model/case.py, M waskaweb/templates/casemanagement/digest.mako, M waskaweb/templates/statement/dialogs/confirm.mako, M waskaweb/templates/statement/dialogs/ee_decline_success.mako, A waskaweb/templates/statement/dialogs/ee_accept_failed.mako, A waskaweb/templates/statement/dialogs/ee_accept_success.mako, A waskaweb/templates/statement/dialogs/ee_decline_failed.mako, M waskaweb/templates/statement/edit.mako: Added confirmation and notification dialogs into the process of setting the privacy statement. * M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, M waskaweb/i18n/waskaweb.pot, M waskaweb/templates/casemanagement/caselist.mako: Reactivated the display of the last accesstime in the case overview for users with role "cm-ka" * M waskaweb/controllers/case_overview.py, M waskaweb/model/case.py, M waskaweb/templates/casemanagement/caselist.mako, M waskaweb/templates/casemanagement/overview.mako: Anonymized cases can now be displayed in the caseoverview. Anonymized cases can not be edited or view by the user. They are only listed to increase transperency of the case listing. Anonymized cases can be deleted without the need to me marked for deletion by a cm. 2008-03-10 Torsten Irlaender * M waskaweb/model/case.py: Fixed searching of cases. Cases with no kundennummer, name or vorname will be listed now 2008-03-10 Sascha L. Teichmann * waskaweb/lib/evaluation.py: Fixed 'Migrationshintergrund' 2008-03-09 Torsten Irlaender * Tagged Beta 25 * M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, M waskaweb/model/case.py, M waskaweb/templates/casemanagement/caselist.mako: Changed footer to BETA 25. Commented out last access time and fixed display of the anonymized icon * M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, M waskaweb/i18n/waskaweb.pot, M waskaweb/templates/casemanagement/evaluation_result.mako: Moved some static text from the evaluation_result page into po file. 2008-03-07 Torsten Irlaender * M waskaweb/public/styles/all.css, M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po M waskaweb/templates/casemanagement/evaluation_result.mako, M waskaweb/lib/evaluation.py: Changed Layout of the evaluation. The evalauations are now grouped into different evaluation categories. (incm, all, finished). Simplify of the esq statement and renaming of some descriptions in result. * M waskaweb/model/case.py, M waskaweb/templates/casemanagement/caselist.mako: Cases which have no privacy statement are now signed with an on own icon in the admin view. Further the admin can not restore these cases (they are markded to be deleted) anymore. * M waskaweb/lib/evaluation.py, M waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, M waskaweb/templates/casemanagement/evaluation_result.mako: Changed naming in the first evaluation. Feedback (DLR) * M waskaweb/model/case.py, M waskaweb/templates/casemanagement/caselist.mako: Added last access time to the caselisting of cm-users. admins do not see the last access time yet as the time does not fit into the caselisting. TODO: Change Layout here. 2008-03-04 Torsten Irlaender Hotfix for evaluationserver * M waskaweb/model/user.py, M waskaweb/templates/administration/overview_user.mako: The "adm" user is not listed anymore in the user overview. Normally this did not happen anyway but on the evaluation Server the adm user also gets an entry in the user table and would therefor be listed. 2008-03-04 Torsten Irlaender * Tagged Beta 24 2008-03-03 Torsten Irlaender * waskaweb/controllers/case_overview.py: Fixed wrong import and use of AgencyBundle which should be a CaseBundle. * waskaweb/lib/evaluation.py: Commented out debugging output * waskaweb/controllers/agency_overview.py: Removed unused function 2008-03-03 Sascha L. Teichmann * waskaweb/lib/timelog.py: If no host is given timelog is deactivated. 2008-03-03 Sascha L. Teichmann * waskaweb/lib/casedata.py: removed imports. TODO: remove entire file because its not needed any more. * waskaweb/controllers/administration.py: Import the other Agency (the setting one). 2008-02-29 Benjamin Kirschner * waskaweb/controllers/agency_overview.py waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot waskaweb/public/styles/color3.css waskaweb/public/styles/screen.css waskaweb/templates/casemanagement/agency_overview.mako waskaweb/templates/casemanagement/downloadCSV.mako: Changed Dialog in CSV Export. 2008-02-29 Torsten Irlaender * waskaweb/templates/casemanagement/upload.mako: Commented out XML-Import as it is not fully functional yet. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/lib/evaluation.py: Added "Sonstige" to "Förderbedarf" evaluation. Changed label of this evaluation. 2008-02-28 Sascha L. Teichmann * waskaweb/lib/csv.py: Added. exports list of cases as CSV to a given stream. 2008-02-28 Torsten Irlaender * waskaweb/controllers/agency_overview.py, waskaweb/model/agency.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/dialogs/failed_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/failed_export_agency.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_export_agency.mako, waskaweb/templates/casemanagement/dialogs/success_delete_agency.mako, waskaweb/templates/casemanagement/dialogs/success_export_agency.mako, waskaweb/templates/casemanagement/downloadCSV.mako: Added dialogs for CSV export of agencys for the evaluation server. * waskaweb/lib/evaluation.py: Evaluation "Förderbedarf" is now perfomed on the base of the selected fields in 4.2, and not over the various "Unterstützungsangebote". * waskaweb/controllers/agency_overview.py, waskaweb/controllers/evaluate.py, waskaweb/model/agency.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/downloadCSV.mako: Implemented CSV export of the cases. Functionality for export ist implemented in CaseBundle. 2008-02-27 Torsten Irlaender * waskaweb/controllers/evaluate.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation_result.mako: Fixed issue 239. Modified evaluation to correctly handle fields where no information is given on which the evaluation could work. These cases are now displayed in the category "Keine Angabe" in each evaluation section. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Rebuild of the langauge-files after merging the branches. * development_wsgi.ini: On default the server is not meant to be driven as evaluation server. * waskaweb/lib/evaluation.py, waskaweb/templates/main.mako: Reformatting code 2008-02-26 Torsten Irlaender * waskaweb/controllers/evaluate.py: Allow pb_ka users to do evaluations on the cases. * waskaweb/lib/evaluation.py: Fixed issue234.Fixed evaluation 6 and 7. Now only cases which are in case-management and are finished (aborted or regular end) are evaluated. Fixed issue issue229. Evaluation 10. Return "k.A" instead of "None" if there is no data for the length of the CM in weeks. 2008-02-22 Torsten Irlaender work. These cases are now displayed in the category "Keine Angabe" in each evaluation section. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Rebuild of the langauge-files after merging the branches. * development_wsgi.ini: On default the server is not meant to be driven as evaluation server. * waskaweb/lib/evaluation.py, waskaweb/templates/main.mako: Reformatting code 2008-02-26 Torsten Irlaender * waskaweb/controllers/evaluate.py: Allow pb_ka users to do evaluations on the cases. * waskaweb/lib/evaluation.py: Fixed issue234.Fixed evaluation 6 and 7. Now only cases which are in case-management and are finished (aborted or regular end) are evaluated. Fixed issue issue229. Evaluation 10. Return "k.A" instead of "None" if there is no data for the length of the CM in weeks. 2008-02-22 Torsten Irlaender * waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/model/agency.py: Cases of one agency can now be deleted from the overview page * waskaweb/config/routing.py, waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py, waskaweb/lib/validators.py, waskaweb/model/agency.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/agencylist.mako: Implemented bundled deletion for agencys on the evealutation server. This will delete all cases of a particular agency. 2008-02-21 Torsten Irlaender * waskaweb/controllers/usersettings.py: Added new role "pb_ka" to the checkrole decorators. * waskaweb/model/agencysettings.py, waskaweb/model/agency.py, waskaweb/model/case.py: Renamed agency.py into agencysettings. Fixed references to the new file in case.py * waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/model/agency.py: Listing of agencys on the evalutation server is build from the database. 2008-02-20 Frank Koormann Bugfix for issue242 * waskaweb/lib/helpers.py: import sys, (slashSplit): New function slashSplit to splitDN-string, (getKAName): Use slashSplit() and return empty string on failure 2008-02-18 Torsten Irlaender * development_wsgi.ini, waskaweb/controllers/administration.py, waskaweb/templates/administration/new_user.mako: Modified create_user templates. Depended if this server is an evalutation server or not the options which type of user (role) can be created differ. 2008-02-15 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/main.mako, waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/tests/functional/test_agency_overview.py: Created new controller and templates for the "case-overview" on the evalutation server. The "case-overview" is more a listing of all agencys which submitted casesdata for evaluation. Startet to setup the templates for the new role "pb_ka" 2008-02-15 Torsten Irlaender * waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: Commented out the max savetime for the cases in agency settings. 2008-02-13 Torsten Irlaender * development.ini: Added new variabled to check if the current server instance is used as an evaluation server. 2 * waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/model/agency.py: Cases of one agency can now be deleted from the overview page * waskaweb/config/routing.py, waskaweb/controllers/agency_overview.py, waskaweb/controllers/case_overview.py, waskaweb/lib/validators.py, waskaweb/model/agency.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/agencylist.mako: Implemented bundled deletion for agencys on the evealutation server. This will delete all cases of a particular agency. 2008-02-21 Torsten Irlaender * waskaweb/controllers/usersettings.py: Added new role "pb_ka" to the checkrole decorators. * waskaweb/model/agencysettings.py, waskaweb/model/agency.py, waskaweb/model/case.py: Renamed agency.py into agencysettings. Fixed references to the new file in case.py * waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/model/agency.py: Listing of agencys on the evalutation server is build from the database. 2008-02-20 Frank Koormann Bugfix for issue242 * waskaweb/lib/helpers.py: import sys, (slashSplit): New function slashSplit to splitDN-string, (getKAName): Use slashSplit() and return empty string on failure 2008-02-18 Torsten Irlaender * development_wsgi.ini, waskaweb/controllers/administration.py, waskaweb/templates/administration/new_user.mako: Modified create_user templates. Depended if this server is an evalutation server or not the options which type of user (role) can be created differ. 2008-02-15 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/main.mako, waskaweb/controllers/agency_overview.py, waskaweb/templates/casemanagement/agency_overview.mako, waskaweb/templates/casemanagement/agencylist.mako, waskaweb/tests/functional/test_agency_overview.py: Created new controller and templates for the "case-overview" on the evalutation server. The "case-overview" is more a listing of all agencys which submitted casesdata for evaluation. Startet to setup the templates for the new role "pb_ka" 2008-02-15 Torsten Irlaender * waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: Commented out the max savetime for the cases in agency settings. 2008-02-13 Torsten Irlaender * development.ini: Added new variabled to check if the current server instance is used as an evaluation server. 2008-02-11 Benjamin Kirschner * waskaweb/templates/casemanagement/upload.mako waskaweb/templates/usersettings/change_password.mako waskaweb/templates/documents/case_new.mako waskaweb/templates/documents/global_upload.mako templates/casemanagement/bundle_standin.mako waskaweb/public/styles/screen.css waskaweb/controllers/case.py: changed format, added sentence * waskaweb/templates/administration/overview_user.mako: added role to overview * waskaweb/templates/administration/edit_settings.mako: added explanations and changed format * waskaweb/model/navigation.py: changed encoding to utf-8 2008-02-08 Benjamin Kirschner * waskaweb/public/images/icons/delete_grey.gif waskaweb/public/images/icons/delete_red.gif waskaweb/public/images/icons/done_grey.gif waskaweb/public/images/icons/editor_grey.gif waskaweb/public/images/icons/form_help.png waskaweb/public/images/icons/recover_red.gif waskaweb/public/images/icons/stand-in_grey.gif waskaweb/public/images/icons/view_red.gif waskaweb/public/images/icons/work_in_progress_grey.gif: changes on icons 2008-02-07 Benjamin Kirschner * waskaweb/controllers/rg_aid.py waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Consistent dialogs in rg_aid and the po file. * A waskaweb/templates/casemanagement/dialogs/failed_seteditor.mako A waskaweb/templates/casemanagement/dialogs/success_delete_admin.mako A waskaweb/templates/casemanagement/dialogs/success_markdelete.mako waskaweb/templates/casemanagement/dialogs/notificate_bundle_seteditor.mako waskaweb/templates/casemanagement/dialogs/notificate_bundle_setstandin.mako waskaweb/controllers/case_overview.py waskaweb/controllers/statement.py: Added several new dialogs. * waskaweb/public/images/np_arrow.gif waskaweb/public/styles/color3.css: Changed font-color to 252525, black was a bit hard. Changed table and block highlighting to softer grey. * waskaweb/templates/casemanagement/upload.mako waskaweb/templates/documents/case_new.mako waskaweb/templates/documents/global_upload.mako waskaweb/templates/usersettings/change_password.mako: Changed format of the content fields. These changes will lead to a consistent workflow for waska-actions like changing password or set standin. * waskaweb/public/styles/screen.css: Small fix on layout (width and height of content and header) * waskaweb/public/styles/color3.css: highlighting of not allowed / dealt with actions/cases * waskaweb/templates/casemanagement/bundle_standin.mako waskaweb/templates/casemanagement/bundle_editor.mako waskaweb/templates/casemanagement/bundle_standin.mako: changed sequence of first and last.name * waskaweb/templates/administration/edit_user.mako waskaweb/lib/validators.py i18n/de/LC_MESSAGES/waskaweb.po: Login changed to "Anmeldekennung" * waskaweb/controllers/case_overview.py: "Delete feedback" when user is not allowed to delete a case that is not "markdelete" * waskaweb/public/styles/all.css waskaweb/templates/usersettings/change_password.mako: improved layout of new "upload" and "change pw" pages 2008-02-07 Torsten Irlaender * ChangeLog.txt, Changes.txt, NEWS: Added notes for Beta 21 to changes.txt. Removed NEWS file. 2008-02-04 Torsten Irlaender Tages Beta 21 Benni also added a fix for an error which prevents the release of beta 20. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed footer to Beta 21 2008-02-04 Torsten Irlaender Tagged Beta 20 * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Changed footer to Beta 20 2008-02-04 Benjamin Kirschner * waskaweb/controllers/administration.py waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Small fix on new exception dialog. Fix on typos. * waskaweb/templates/administration/edit_user.mako: Added table format * waskaweb/controllers/administration.py A waskaweb/templates/administration/dialogs/success_edit_user.mako: Added dialog to "Benutzer bearbeiten". After pressing the save button a dialog with the information, that the settings have been saved, pops up. * waskaweb/controllers/administration.py A waskaweb/templates/administration/dialogs/success_edit_agency.mako: Added dialog to "Agentureinstellungen bearbeiten". After pressing the save button a dialog with the information, that the settings have been saved, pops up. * waskaweb/controllers/usersettings.py A waskaweb/templates/administration/success_edit_user.mako waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Added dialog to "Vertretung (Standard-Vertretung) setzen". After pressing the save button a success dialog pops up. 2008-02-03 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/dialogs/failed_new_user.mako: Fixed issue190. Database exception when creating a user with a login name which already exists in the database is now caught and a error dialog is displayed. 2008-02-03 Torsten Irlaender * waskaweb/templates/administration/overview_user.mako: The currently logged in user will not see the delete icon for his user in the user overview. This prevents the admin for deleting himself. * waskaweb/controllers/administration.py: Added check in the controller to make sure that the user can not delete himself. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/dialogs/failed_delete_user.mako: Added new error dialof which pops up if the user tries to delete himself (by crafting and delete-url by hand e.g) 2008-02-01 Torsten Irlaender Tagged BETA 19 * waskaweb/model/case.py, waskaweb/model/repeatgroup.py: Added "uuid" paramater to create_ds functions. Modified SQL-statement. All new datasets will be generated with an unique uuid. This will make it possible to identify each single datases across many KAs, which is needed to implement the update functionallity for im- and export of XML. uuid defaults to "None" which means generating a new uuid for the dataset. If an uuid is given (import of a exported case) there will be some logic in the futuer which checks if we need to create a new dataset with the given uuid or update an existing dataset. * waskaweb/templates/casemanagement/formular.mako: Reactivated the printfunction for the aidplan in aid overview. Seems it got lost while restructuring the aidoverview. 2008-02-01 Benjamin Kirschner * waskaweb/controllers/case.py waskaweb/model/navigation.py: torstens changes on print version. formulars are now serialized correctly. Headers of the formulars are not correct, but it is an improvment to the former version. * waskaweb/public/styles/print.css: Small changes on print version. In IE7 the print version looks quite good. Every formular starts with a new page. FF has some problem because of floatings. I have to improve the print version in FF. Print overview page not finished yet. 2008-01-31 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/templates/casemanagement/overview: Added selectionbox for admin users to search for cases of a particular user. * waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/organisation.mako: Changed naming along the workflow of opening and closing cases. Moved the option to open and close a case to the organisation so that it isn't so exposed in the main-menu. Added note that openening and closing of a case isn't related to finishing a case in the meaning of Case-Management. Added Notification Dialog on succsessfully reopening a case. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/lib/renderer.py, waskaweb/public/styles/all.css: Better use of space in the aid-overview. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot waskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako: Added additional telephonenumbers to the digest. Added clickable email-addresses. 2008-01-30 Benjamin Kirschner * waskaweb/controllers/case.py: Added user feedback to dialog "restore" * waskaweb/public/styles/screen.css: Small fix on grey box: * waskaweb/controllers/case.py A waskaweb/templates/casemanagement/dialogs/success_delete.mako A waskaweb/templates/casemanagement/dialogs/success_delete_cm.mako A waskaweb/templates/casemanagement/dialogs/success_restore.mako waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Added user feedback to "delete case" and "restore case" in case_overview. 2008-01-30 Benjamin Kirschner * waskaweb/public/styles/screen.css waskaweb/public/styles/color3.css waskaweb/templates/statement/edit.mako: Small format changes on text. Important information is now in grey box. * waskaweb/controllers/case.py: Fix on ISE when importing none case-pdf. * waskaweb/public/styles/screen.css waskaweb/public/styles/color3.css waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot waskaweb/templates/casemanagement/digest.mako: Added "parent" information to overview. This information was requested by casemanagers during beta. 2008-01-30 Torsten Irlaender * waskaweb/templates/usersettings/edit_standin.mako, waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/casemanagement/caselist.mako: Fixed Issue221. Changed ordering of first and lastname in standin-dialog of the usersettings and case overview. * waskaweb/lib/helpers.py, waskaweb/templates/login.mako: Added function which extracts the name of the ka from the client certificate. The name is now displayed on the loginscreen * waskaweb/model/case.py: Added further informations to the case digest. Added contact information of the parents of the kid. Changed SQL-query. Results are now fetched by name and not by index. This makes the query more robust. * controllers/rg_aid.py: Fixed issue33. Deleting aid: If the user clicks not in the confirmation dialog, waska stys now in edit mode. Dialog is now displayed in the correct context: case mode not start mode * formed/formedtree_web.xml: Fixed f05 of issue87: Setting some fieldssets to invisible (actvities of the juvenile) * waskaweb/templates/casemanagement/digest.mako: Added links to email-address of the contacts * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/bundle_editor.mako, waskaweb/templates/casemanagement/bundle_standin.mako: Fixed issue partially issue202. Added breadcrumbs to the confirmation dialog of of bundled actions. * waskaweb/templates/casemanagement/dialogs/notificate_bundle_seteditor.mako, waskaweb/templates/casemanagement/dialogs/notificate_bundle_setstandin.mako: Navipath now looks the same as in other dialogs now. 2008-01-29 Sascha L. Teichmann * waskaweb/lib/base.py: Fix for issue227. The import of the needed HTTPUnauthorized was hashed. Why? 2008-01-29 Torsten Irlaender * waskaweb/lib/validators.py, waskaweb/templates/usersettings/change_password.mako: Fixed issue222: Partially missing and wrong wording in errordialog on setting userpassword. 2008-01-29 Sascha L. Teichmann * development_wsgi.ini: Configured time logger. * waskaweb/lib/app_globals.py: Feef time logger from config * waskaweb/lib/base.py: Probe time when calling controller. * waskaweb/lib/timelog.py: New the time logger. 2008-01-29 Torsten Irlaender * waskaweb/model/case.py: Removed debugging output. Changed "print"-statements so that they print to stderr instead of stdout. * waskaweb/templates/administration/edit_user.mako: Added translation matrix for error-messages. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako: Added mobile telephone to the case-digest. * waskaweb/templates/casemanagement/organisation.mako: Changed order of first and lastname in the userlisting to lastname, firstname. * waskaweb/controllers/rg_aid.py, waskaweb/model/repeatgroup.py: Refactored model of the repeat group which should make them more flexible and readable. Added Factory class to load and create new repeat groups. * waskaweb/model/navigation.py: Renamed "Kontaktdaten" to "Externe Ansprechpartner" in formular outline. 2008-01-28 Benjamin Kirschner * waskaweb/templates/administration/new_user.mako: Errors are not longer displayed with the exclamation mark but with highlighting of the input fields and red colored label text. 2008-01-28 Benjamin Kirschner * waskaweb/templates/casemanagement/organisation.mako: Added " " to table because ie doesn't display table borders without content * waskaweb/templates/start/help.mako: Added small text which guides to waska-anwender. * waskaweb/controllers/administration.py waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot waskaweb/templates/administration/dialogs/notificate_delete_user_helper.mako: Changed dialog icon (consistent to the other dialogs) and added two different msgs so users recognize the difference between "Fallakten übertragen - Nutzer löschen" and "Fallakten übertragen - Weitere Fallakten vorhanden". 2008-01-28 Benjamin Kirschner * waskaweb/lib/renderer.py waskaweb/templates/usersettings/change_password_login.mako waskaweb/templates/usersettings/change_password.mako waskaweb/templates/administration/edit_user.mako waskaweb/public/styles/color3.css: Errors are not longer displayed with the exclamation mark but with highlighting of the input fields and red colored label text. * waskaweb/templates/casemanagement/overview.mako: Changed search according to issue220 to method "post" * waskaweb/templates/documents/case_overview.mako: Only cm_ka is able to delete case related documents. Delete function isn't displayed to admin_ka anymore. 2008-01-28 Sascha L. Teichmann * Changes.txt: Summarized changes from Beta 14 to 18. 2008-01-25 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged Beta 18 2008-01-25 Benjamin Kirschner * waskaweb/controllers/administration.py waskaweb/i18n/de/LC_MESSAGES/waskaweb.po waskaweb/i18n/waskaweb.pot: Fixed Dialog "Delete User and give his cases to another cm" Added msg strings to the controller and the po file. * waskaweb/controllers/document.py waskaweb/controllers/usersettings.py: Damaged msg strings (used wrong encoding) fixed * waskaweb/templates/dialogs/alert.mako waskaweb/templates/dialogs/confirm.mako waskaweb/templates/dialogs/failed.mako waskaweb/templates/dialogs/notification.mako waskaweb/templates/dialogs/success.mako: Added escaping (F.NA, h) to the dialogs. 2008-01-24 Torsten Irlaender * waskaweb/controllers/statement.py, waskaweb/model/case.py: Cases are now marked as deleteable if the user declines the privacy statement. 2008-01-24 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako, waskaweb/templates/casemanagement/overview.mako: Enhanced Casesearch. Added more options for user to define their search. They can now filter "open", "closed" and "outstanding delete" cases. And they can choose if the want to see their own or standin cases. All option can be comibined in various ways. 2008-01-23 Benjamin Kirschner * waskaweb/lib/helpers.py: Added "CaseShort" to cut strings e.g. in caselist.mako (first_name, last_name) and infofield. 2008-01-22 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/overview.mako: Enhanced cases search: Default behavior is now to filter out closed cases. Added checkbox to showup closed cases. The users search is now redisplayed on the result page. 2008-01-21 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/overview.mako: Implemented bundled delete action for cm_ka-users on the case overview page. All cases won't be actually delted but get marked to be deleted by the administration. 2008-01-18 Torsten Irlaender Added new workflow of cases. Cases can now have different states: - Open (1) - Closed (2) - Outstanding delte (3) - Outstanding anonymise (4) - Anonymised (5) * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py: Added new controller function to switch between the different states of a case. Casebundle actions: Non deleteable cases (state != 3) are filtered out in the casebundle. * waskaweb/config/routing.py: Added routes for the new controllers. * waskaweb/model/agency.py, waskaweb/model/case.py: Added new function to agency to get the max savetime im days for a the cases. Changed SQL Statements in model case to fetch the bearbeiter_id in the overview. Adjusted factory methods to build cases with the bearbeiter_id. getEditor() method in case.py now really returns a UserObject instead of an user_id. Added new class State which represents the State of a case. Added methods to Case and SessionCase to get the current state. * waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: Added new fields to show and edit max savetime in agency configuration. * waskaweb/templates/casemanagement/bundle_standin.mako, waskaweb/templates/casemanagement/caselist.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako: Enhanced case overview pages: Added icons for action and state-information. Admins now see the (shorten) name of the editor of each case. Added new links into the main menu to open/close the case * waskaweb/public/styles/all.css: Added new style for the status column of the case overview. * waskaweb/public/images/icons/delete_red.gif, waskaweb/public/images/icons/done_grey.gif, waskaweb/public/images/icons/editor_grey.gif, waskaweb/public/images/icons/recover_red.gif, waskaweb/public/images/icons/stand-in_grey.gif, waskaweb/public/images/icons/view_red.gif, waskaweb/public/images/icons/work_in_progress_grey.gif, waskaweb/templates/casemanagement/dialogs/confirm_close.mako, waskaweb/templates/casemanagement/dialogs/confirm_delete.mako, waskaweb/templates/casemanagement/dialogs/confirm_open.mako, waskaweb/templates/casemanagement/dialogs/confirm_restore.mako: Added icons for state and action in case overview. Added new confirmation dialogs which pop up if the user wants to change to a different state. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added new translatet strings for the new actions and states. * NEWS: Added NEWS files which should contain high level information of new Features and functions for endusers of waska. 2008-01-18 Sascha L. Teichmann * waskaweb/model/expr.py: changed copyright to 2008 2008-01-18 Benjamin Kirschner * waskaweb/templates/dialogs/failed.mako waskaweb/templates/dialogs/success.mako waskaweb/templates/documents/dialogs/failed_attachment.mako waskaweb/templates/documents/dialogs/failed_document.mako waskaweb/templates/documents/dialogs/success_attachment.mako waskaweb/templates/documents/dialogs/success_documents.mako waskaweb/controllers/document.py waskaweb/controllers/statement.py: Added dialog for document and attachment upload. Users get a direct feedback if the document/attachment has been uploaded or not. 2008-01-14 Torsten Irlaender * waskaweb/model/case.py: Fix for issue 216 2007-01-14 Sascha L. Teichmann * waskaweb/model/case.py: Fix for issue 209 2007-01-14 Sascha L. Teichmann * Changes.txt: New. Userfriendly summary of changes. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as Beta 14 2008-01-11 Torsten Irlaender * waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css: Fixed rendering error of teh formular structure in IE6+7 2008-01-11 Torsten Irlaender * waskaweb/model/case.py: Added kundennummer to case oobject when selecting a case from the overview. Fixed issue 212 2008-01-11 Sascha L. Teichmann * waskaweb/model/case.py: convert kundennr to UTF-8. Fix for 211 2008-01-11 Sascha L. Teichmann * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as Beta 13 2008-01-11 Torsten Irlaender * waskaweb/i18n/de/LC, SSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/screen.css, waskaweb/templates/administration/new_user_result.mako: Fixed issue 198: Login and Passwort of new created user is now better visible. Fixed typo in po file. 2008-01-10 Torsten Irlaender * waskaweb/controllers/rg_aid.py, waskaweb/lib/renderer.py, waskaweb/model/repeatgroup.py: Fixed issue 207. "Unterstützungsangebote" could not be deleted because the renderer rendered a wrong id for deletion. This error was introduced by the refactoring. 2008-01-10 Sascha L. Teichmann * waskaweb/controllers/navigation.py: If a new selected case as toggled in the first time before selecting a page, the session has no parent page and it tried to toggle a not 'bookmarked' page -> 404. Now this case is caught. Fix for issue 206. TODO: Using session for this kind of bookmarking is bad!!! Use the toggle link instead to code the currently displayed page. 2008-01-10 Sascha L. Teichmann * waskaweb/model/case.py: A field in SQL statement was missing. Sorting by lastname is now stable against None values. Fix for issue 205. 2008-01-10 Torsten Irlaender * waskaweb/lib/helpers.py: Fixed 404 when trying to print out the whole formular. 2008-01-10 Torsten Irlaender * waskaweb/model/case.py: Filtering cases for cm for which the privacy statement is is not set and will not be set in the future. Admin can see the cases. 2008-01-10 Sascha L. Teichmann * waskaweb/controllers/administration.py: Revert loop to edit_settings. I consider this a usability bug! Remember: the forms for uploading the privacy and the aid plan statement are reachable over this page. 2008-01-10 Torsten Irlaender * waskaweb/controllers/case_overview: Fixed issue 201. ISE on setting the editor for bundeled cases in the case overview. 2008-01-10 Sascha L. Teichmann * waskaweb/controllers/administration.py: After storing of agency settings the agency settings form is shown again. * waskaweb/model/agency.py: fixed Agency.isAnonTransfer(). Fix for issue 176. * waskaweb/templates/administration/edit_settings.mako: Removed an empty line. 2008-01-09 Sascha L. Teichmann * waskaweb/model/navigation.py: The methods NavigationTree.getTreeItem NavigationTree.getTreeItemByPageName() now raise a HTTPNotFound exception if an item is not found: another puzzle piece to fix issue 184. Removed STRUCTURE string which doesn't represent the structure of the navigation any more. 2008-01-09 Sascha L. Teichmann * waskaweb/templates/login.mako: Send login credentials as UTF-8 not Latin-1. * waskaweb/lib/app_globals.py, waskaweb/lib/security.py: uses unicode strings to store db patterns. * waskaweb/lib/validators.py: When changing passwords force ASCII characters. 2008-01-09 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/overview.mako: Fixed issue 29,199 * waskaweb/controllers/administration.py: Reactiveted deletion of users. fixed typos * waskaweb/model/navigation.py: Fixed "next"-section in the navigation. Fixed typo 2008-01-08 Torsten Irlaender * waskaweb/controllers/navigation.py: Fixed opening and closing of treeitems... but really now :)- * waskaweb/model/navigation.py: Fixed opening and closing of folders in navigation * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Removed links to the appointment stubs. * waskaweb/lib/renderer.py, waskaweb/public/styles/all.css: Added new css-tag for paragraphs which are used to fake textareas in readonly mode. Modified renderer to render parapgraphs with styletag. * waskaweb/controllers/navigation.py: Fixed ISE when clicking on the folder icon of "unterstützungsangebote" in the navigation. 2008-01-08 Sascha L. Teichmann * waskaweb/model/case.py: Added method CaseOverviewController.sortByLastname() which sorts the list by the surname taking the server locale into account. * waskaweb/controllers/case_overview.py: Call sortByLastname() when generating the overview and the search result. 2008-01-07 Torsten Irlaender * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/rg_aid.py, waskaweb/model/navigation.py: Implemented first version of printing the whole case. Added new convinient function "getRendererdFormElements" which returns a tuple holding the navigation and the formular page (tried to make the api a littlebit more easy). This function is able to cope with repeat groups an normal formular pages, which is handy for printing the whole document. NOTE: Printing of the whole ducument is not complete for now! Formatting issues are missing completely. Adjusted code to make use if this new function. * waskaweb/lib/renderer.py: Moved rendering of the Aidoverview from the mako template into the renderer. * waskaweb/templates/casemanagement/rg_aid_overview.mako: Deleted. 2008-01-02 Sascha L. Teichmann * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged as Beta 11 2008-01-02 Torsten Irlaender * waskaweb/templates/main.mako: Fixed path to fav. icon 2008-01-02 Torsten Irlaender * development_wsgi.ini, waskaweb/controllers/administration.py: Activated "not implemented" dialog on user deletion as there is still an permission issue on the database. Reactivated old memcachd. 2008-01-02 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/navigation.py, waskaweb/model/case.py, waskaweb/model/navigation.py, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: Separeted toggling and selecting formular items. Added new controller "navigation" which handles toggling thenavigation tree. Adjusted code to make use if the new controller. * waskaweb/model/case.py, waskaweb/model/navigation.py, waskaweb/public/images/icons/folder.png, waskaweb/public/images/icons/folder_closed.png, waskaweb/public/images/icons/folder_error.png, waskaweb/public/images/icons/folder_open.png, waskaweb/public/images/icons/formular_page_error.png: Added new icons for formular navigation 2007-12-21 Torsten Irlaender * waskaweb/lib/pdfimporter.py, waskaweb/model/navigation.py, formed/formedtree_web.xml: Splitup of "ergebnisse der KF": Added new formed tree. the section is now seperated in four single pages. Modified navigation. Adjusted code to handle splitted up section "ergebnisse der KF" in pdfimporter. 2007-12-21 Torsten Irlaender * waskaweb/lib/renderer.py: Fixed issue197. Selectionlists d in views-modeo not have the disabled tag in view-mode anymore as CSS does not have any effect when using IE. Instead we render only the selected item in the selectionlist in views-mode. 2007-12-20 Torsten Irlaender * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/model/case.py: Fixed issue184. If someone tries to load an nonexistent case he will get an 404. * waskaweb/controllers/case_overview.py, waskaweb/controllers/document.py, waskaweb/controllers/rg_aid.py, waskaweb/controllers/statement.py, waskaweb/controllers/usersettings.py, waskaweb/controllers/waska.py: Continued validation of GET parameters in controllers. Validation of POST parameters are still missing, but the formenceode stubs for this are available in each controller method. * waskaweb/lib/renderer.py, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako: Make colorscheme more readable at least for the FF. IE doesn't like this. 2007-12-19 Torsten Irlaender * waskaweb/templates/main.mako: Fixed broken layout. * waskaweb/controllers/case.py, waskaweb/controllers/rg_aid.py, waskaweb/lib/renderer.py, waskaweb/model/navigation.py, waskaweb/model/repeatgroup.py: Implemented checking of input data in case controller. Further changed key ids for untertützungs rg to pure integer values. (not 14rg anymore) 2007-12-19 Torsten Irlaender * waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Fixed broken templates. Opening and closing divs was not done in the correct way. Reading the code was confusing. Fixed this now, but it broken that layout. This will be fixed next. 2007-12-17 Torsten Irlaender * waskaweb/templates/administration/new_user.mako, waskaweb/templates/main.mako: Mapping (fieldname -> human compatible descriptions) for error messages are now local for the templates. dictionary for the mapping will be passed as argument zo the "buildForumlarErrors" Function. 2007-12-17 Torsten Irlaender * formed/formedtree_web.xml, waskaweb/lib/evaluation.py: Fixed typos (issue81) 2007-12-17 Torsten Irlaender * waskaweb/controllers/statement.py: Workflow. Fixed issue170. If the user declined the privacy statement. He gets redirected to the caseoverview instead of showing the case. 2007-12-17 Sascha L. Teichmann * waskaweb/lib/security.py: new method to generate a new shared secret. new method to concat IP and client user agent. * waskaweb/controllers/waska.py: Set a second cookie with shared secret if authenticated. Shared secret is concatenated with IP and user agent info. A MD5 hash of this string is stored in the session. 2007-12-17 Torsten Irlaender * waskaweb/templates/casemanagement/overview, waskaweb/templates/casemanagement/caselist.mako: NEW. Seperated caselisting in extra file to make it potentially reusable at other places. * waskaweb/controllers/administration.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/validators.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/caselist.mako: Implemented helper dialogs for deleting users. This dialogs helps the user to transfer cases to other users if the user which should be deleted still is the editor of some cases. * waskaweb/lib/evaluation.py: Fixed issue195. Evaluation for of the "Unterstützungsangeote" are only performed for cases where the user is the editor of. 2007-12-17 Sascha L. Teichmann * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/rg_aid.py: Replaced HTTPExceptions(404) with HTTPNotFound. 2007-12-17 Sascha L. Teichmann * waskaweb/lib/evaluation.py: Fix for issue196. Evaluations are now exported as Latin-1 and line breaks are coded DOS-style. * waskaweb/controllers/evaluate.py: Raise HTTPNotFound exceptions instead of HTTPExceptions. Last ones are abstract and raising them causes expcetions themself. 2007-12-12 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/controllers/case_overview.py, waskaweb/model/case.py: Implemented setting the standin as another bundled action. * waskaweb/templates/casemanagement/bundle_editor.mako, waskaweb/templates/casemanagement/bundle_standin.mako, waskaweb/temp lates/casemanagement/dialogs/notificate_bundle_delete.mako, waskaweb /templates/casemanagement/dialogs/notificate_bundle_seteditor.mako, w askaweb/templates/casemanagement/dialogs/notificate_bundle_setstandi n.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/dialogs/alert.mako: Added dialogs for the bundled actions. This includes enhancement of the case overview page as same as new notification dialogs and other dialogs. * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Added new translation strings for dialogs in bundles actions * waskaweb/lib/validators.py: Added to to new formvalidators for bundled actions * waskaweb/config/routing.py: Added new route for bundled actions 2007-12-12 Torsten Irlaender * development_wsgi.ini, waskaweb/config/routing.py, waskaweb/controllers/case_overview.py, waskaweb/model/case.py, waskaweb/templates/casemanagement/bundle_editor.mako, waskaweb/templates/casemanagement/dialogs/bundle_noselection.mako: Implemented "Bundled Actions". Bundled actions are action on multiple cases at once. Currently two different actions are implemented: 1. Deletion 2. Setting the editor. Introduced new class "Casebundle" which encapsulates the functionallity. 2007-12-12 Torsten Irlaender * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py, waskaweb/controllers/statement.py: Fixed ISE when user creates a case without statement, but want to set the status of the statement in the confirmation dialog which pops up after creation. The ISE was triggered because of a non existend navigation tree at this moment. 2007-12-11 Sascha L. Teichmann * waskaweb/controllers/waska.py, waskaweb/lib/base.py: Removed (out commented) check SSL-id to prevent session hijacking. Code is left in because 'conventional' hijacking prevention will work the same but based on second cookie. 2007-12-11 Torsten Irlaender * waskaweb/controllers/case_overview.py, waskaweb/tests/functional/test_case_overview.py: New. Added new controller for actions which are preformed from the case overview page. * waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Moved some code from the case controller into the new case_overview controller. Adjusted code in templates. 2007-12-11 Torsten Irlaender * waskaweb/lib/renderer.py, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: Changed code in renderer to fix last remaining warnings in renderer formular page. Anchor-names are now unique. Adjusted code in templates. 2007-12-10 Torsten Irlaender * waskaweb/templates/casemanagement/formular.mako: Removed uneeded check if the form should be displayed. * waskaweb/controllers/CaseBase.py, waskaweb/controllers/case.py waskaweb/controllers/rg_aid.py: Mainly cleaned up code in rg_aid and removed unneeded fragments which where copied from the case controller. Simplified call of the getFormNavigation method. All needed values are stored in the session and do not need to be privided as paramenters. Adjusted code to this. * waskaweb/config/routing.py: Adjusted routing to handle changed parameters of show and edit functions in rg_aid 2007-12-10 Torsten Irlaender * waskaweb/controllers/case.py: Fixed dataset id converting error which leads into saving data in the wrong dataset. (dataset id need to be converted to determine the id of an repeatgroup for a praticular case.) 2007-12-10 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/templates/casemanagement/rg_aid_overview.mako: Case controller and aid repeatgroup controller are now inherited from the Casebase controller. Cleaned up case base controller and moved code for aid repeatgroups into the new controller (just copied for now -> needs more cleanup). Adjusted routing to make the new controller work. * waskaweb/controllers/CaseBase.py, waskaweb/controllers/rg_aid.py, waskaweb/tests/functional/test_CaseBase.py, waskaweb/tests/functional/test_rg_aid.py: New. Added a new Casebase controller which provides methods common to all case related controller (e.g case, or repeatgroups). Added new controller handling aid repeat groups. 2007-12-10 Sascha L. Teichmann * waskaweb/lib/pdfimporter.py: Added 'root' as a possible root of the XFA document. 2007-12-10 Torsten Irländer * waskaweb/controllers/case.py: Fixed typo which leads into not beeing able to exit edit-mode after we once entered it. 2007-12-08 Sascha L. Teichmann * waskaweb/controllers/waska.py: Beaker does not delete the backend data on invalidate() (I consider this a bug). So we delete a session before we invalidate it. 2007-12-08 Sascha L. Teichmann * waskaweb/controllers/waska.py: call session.invalidate() at logout. This really removes the session. 2007-12-07 Sascha L. Teichmann * waskaweb/lib/base.py: Add extra check against SSL session id to prevent session hijacking. * waskaweb/controllers/waska.py: When log out remove SSL ID from session. TODO: call session.invalidate() 2007-12-07 Torsten Irländer * waskaweb/controllers/case.py: Fixed ISE when creating new aid statements. TODO: separate repeatgroup handling from case controller into an own controller. 2007-12-07 Sascha L. Teichmann * waskaweb/controllers/administration.py waskaweb/controllers/appointment.py waskaweb/controllers/case.py waskaweb/controllers/document.py waskaweb/controllers/evaluate.py waskaweb/controllers/statement.py waskaweb/controllers/usersettings.py waskaweb/controllers/waska.py: Added checkRole() decorator to controllers. * waskaweb/lib/security.py: Using tuples instead of lists in checkRole * waskaweb/model/repeatgroup.py: import missing traceback. 2007-12-07 Sascha L. Teichmann * waskaweb/controllers/case.py: Added missing return statement in method __init_case(). 2007-12-07 Torsten Irländer * waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/lib/base.py, waskaweb/model/case.py, waskaweb/model/user.py: Removed use various session vars for saving case realated attributes. All these attributes are now stores in one single session var named "cases" which is a Sessioncase object. * waskaweb/templates/casemanagement/*.mako: Adjust mako templates to make use of the new session var 2007-12-06 Sascha L. Teichmann * waskaweb/lib/security.py: added decorator function checkRole() * waskaweb/controllers/case.py: add checkRole() decorator to delete. 2007-12-06 Torsten Irländer * waskaweb/controller/usersettings.py: Removed obsolte code in show setting (determining if incoming user id ist "0") 2007-12-06 Torsten Irländer * waskaweb/model/user.py: Reapplied patch to make user objects aware of the fact that there may be no standins. Therefore its value is set to None. 2007-12-05 Sascha L. Teichmann * waskaweb/config/middleware.py: Make serving of static content optional via flag 'serve_static'. * development_wsgi.ini, production_wsgi.ini: Adjusted, 2007-12-05 Sascha L. Teichmann * waskaweb/controllers/document.py, waskaweb/controllers/evaluate.py: Set the HTTP-headers 'Cache-Control' to 'must-revalidate' and 'Pragma' to 'must-revalidate' to workaround SSL download problems with IE6 and IE7. 2007-12-05 Sascha L. Teichmann * waskaweb/model/user.py: Applied patch to make user objects aware of the fact that there may be no standins. Therefore its value is set to None. 2007-12-05 Torsten Irländer * waskaweb/controllers/statement.py, waskaweb/model/case.py, waskaweb/model/statement.py: Statements (for printing) are now fetched from the case instead of creating an own statementin the controller. Statement will be automatically filled out if possible. * wwaskaweb/model/case.py, waskaweb/templates/casemanagement/digest.mako: Changed attribute "address" to "street" 2007-12-05 Torsten Irländer * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/case.py: Moved import and import related helper methods into the case factory. Modified code in case controller to make use of the new import methods. 2007-12-05 Torsten Irländer * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/case.py, waskaweb/model/navigation.py: Moved special code for generating the Navigationtree in connection with the "Kompetenz" repeat group into the navigation class. Moved method for getting the komptentzid of a case into the caseclass 2007-12-05 Torsten Irländer * waskaweb/model/repeatgroup.py: New. Moved repeatgroups from old /lib/casedata into new /model/repeatgroup.py. Renamed classes. * waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/lib/casedata.py: Adopted code in these classes to the introduced class for repeatgroup * waskaweb/lib/helpers.py: Fixed typo of a function call 2007-12-04 Sascha L. Teichmann * waskaweb/model/casedocument.py: New. Subclassed FormEd's document to model the special extensions needed for case management. * waskaweb/model/datapage.py: New. Bridge between data base and case management model, constructed via CaseDocument. its value is set to None. * waskaweb/model/io/factories.py: Modified to build a CaseDocument instead of a simple Document * waskaweb/lib/casedata.py: Moved several classes out to their new position in model. Removed some out-commented code. * waskaweb/model/case.py: Fixed typo with form_errors. Removed dependency from none-existing code. * waskaweb/controllers/case.py: United usage of CaseDocument and Case. Adjusted controller functions to new model. * waskaweb/lib/helpers.py, waskaweb/controllers/statement.py: Adjusted to use new model. 2007-12-03 Sascha L. Teichmann * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged to Beta 7 2007-12-03 Sascha L. Teichmann * waskaweb/controllers/case.py: Commented out not to show cases with neglected 'Einverständniserklärung' * waskaweb/lib/casedata.py: Commented out debug info. 2007-12-03 Sascha L. Teichmann * waskaweb/lib/casedata.py: Modified not to show cases to cm_ka where the 'Einverständniserklärung' is set to be definitely absent. 'admin_ka' sees them all. * waskaweb/lib/pdfimporter.py: Modified to handle fields of 'Einverständniserklärung' ('Optionsfeldliste') so that a 'Nein' is not a definite 'Nein'. 2007-11-30 Torsten Irl�nder * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged Beta 6 * waskaweb/model/user.py, * waskaweb/templates/usersettings/edit_settings.py: Reverted change for non existend standin. Values are now set to "None" instead of "-1" 2007-11-30 Torsten Irl�nder * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Tagged Beta 5 2007-11-30 Torsten Irl�nder * waskaweb/controllers/administration.py, waskaweb/templates/main.mako, waskaweb/templates/main_login.mako, waskaweb/lib/security.py: Removed session variable which holds the agency name. Removed agency name from website title. * waskaweb/model/user.py, waskaweb/templates/usersettings/edit_standin.mako: Modified selction field for the standin. Value for non existend standin is now "-1" 2007-11-29 Sascha L. Teichmann * waskaweb/config/middleware.py: Removed StaticJavascripts middleware. We don't need this. 2007-11-29 Torsten Irl�nder * waskaweb/model/user.py: Added setAdm function again to the userobjects as we rely on that the super admin can be treated as a real existing user in some places. So "setAdm" setups the userobject with appropriate data 2007-11-29 Sascha L. Teichmann * development_wsgi.ini: Uses a local memcached to store the session data. 2007-11-29 Sascha L. Teichmann * waskaweb/lib/evaluation.py: Recyle an open db connection in evaluation #4 correctly. 2007-11-28 Torsten Irl�nder * waskaweb/lib/validators.py, waskaweb/controllers/administration.py, waskaweb/templates/administration/new_user.mako: Fixed issue174 and issue175. For editing the usersettings (and only for this) I changed the way how we render the formular page if formencode fails to check the value. Now we make use of htmlfill which parses the rendere html output, und sets the values in the formular page. This way we can clean up the templates as setting values in the formular is now done by html field in the controller. 2007-11-28 Torsten Irl�nder * waskaweb/controllers/case.py, waskaweb/controllers/usersettings.py, waskaweb/controllers/waska.py, waskaweb/lib/base.py, waskaweb/lib/casedata.py, waskaweb/lib/helpers.py, waskaweb/lib/validators.py, waskaweb/model/user.py: Changed the way how login and password of the user are stored. Both is now stored within the sessionuser object, so the USER_AUTHORIZED session variable do not need to store a tuple anymore. Adopted the new access on the session at all places. 2007-11-28 Torsten Irl�nder * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/evaluation_result.mako: Fixed missing translation in the evalutaion result page * waskaweb/lib/evaluation.py: Fixed wrong calculation which were caused because some querys were on the wrong which return wrong values 2007-11-28 Benjamin Kirschner * waskaweb/*.mako: substituted hardcoded strings with gettext calls at variuos places in the mako templates. Fixed syntax errors 2007-11-28 Torsten Irl�nder * waskaweb/model/user.py, waskaweb/lib/security.py, waskaweb/lib/helpers.py: Refactored user class. Subclassed the user class and created two new classes for the sessionuser. Removed some orphaned code and adopted helper functions in the helpers.py 2007-11-28 Sascha L. Teichmann * waskaweb/model/document.py: Added a getName() method which gives the file name in a given encoding. Defaults to UTF-8. * waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_overview.mako: Use the new getName() method. 2007-11-28 Sascha L. Teichmann * waskaweb/model/agency.py: get() methods return UTF-8 encoded strings now. This fixes the problem of KA names containing Umlauts. * waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: They used the internal conf dictionary. This is replaced by using the respective get() methods now. 2007-11-28 Sascha L. Teichmann * waskaweb/controllers/case.py: Removed debug output * waskaweb/lib/evaluation.py: Fixed wrong spelled connection recycling. 2007-11-28 Sascha L. Teichmann * waskaweb/lib/db_factory.py: Removed. Old DB model is no longer needed. * waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/lib/base.py, waskaweb/lib/helpers.py, waskaweb/model/user.py: removed imports of old DB model. 2007-11-27 Sascha L. Teichmann * waskaweb/lib/evaluation.py: Correct a few syntax typos. 2007-11-27 Sascha L. Teichmann * waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/controllers/evaluate.py, waskaweb/controllers/statement.py, waskaweb/controllers/usersettings.py, waskaweb/lib/casedata.py, waskaweb/lib/evaluation.py, waskaweb/lib/validators.py, waskaweb/model/statement.py, waskaweb/model/user.py: Further refactoring to new DB connection model. Still needs some testing. 2007-11-27 Sascha L. Teichmann * waskaweb/lib/db.py: New. Models a thread locale DB connection * waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/lib/base.py, waskaweb/lib/casedata.py, waskaweb/lib/security.py, waskaweb/model/agency.py, waskaweb/model/document.py, waskaweb/model/statement.py, waskaweb/model/user.py: Adjusted to use new model. Not working perfect yet. 2007-11-27 Sascha L. Teichmann * waskaweb/lib/base.py: Moved DB connection closing from __after__ into a try/finally block in __call__. This fixes issue171. 2007-11-22 Sascha L. Teichmann * waskaweb/controllers/evaluate.py: Use DataApp instead of FileApp to serve the export of the evaluations. This fixes issue56 * waskaweb/lib/evaluation.py: Replaced the code to write into /tmp/eval*.csv files by writing to an in core file. * waskaweb/templates/casemanagement/evaluation_result.mako: Renamed the served *.csv files according to there evalution number and context. 2007-11-22 Torsten Irlaender * ChangeLog.txt: We hopefully now have a Changelog! Migrated Frank's entrys from an older Version. 2007-11-22 Torsten Irlaender * .hgtags: Added tag Beta 2 for changeset 4e2cbffa2075 [f02935ccc7ce] [tip] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Set po file for Beta 2 [4e2cbffa2075] [Beta 2] * waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_overview.mako: Fixed broken file listing when no files are available [cc86107ac05d] 2007-11-22 teichmann * Merged. [b72efa969426] * waskaweb/config/middleware.py, waskaweb/lib/pdfimporter.py: - comment out authkit - catch encoding errors when log to Apache log. [4eded514593a] 2007-11-22 Torsten Irlaender * .hgtags: Added tag Beta 1 for changeset d58ebb2bf674 [dce78e10bc5f] * Merged. Public Beta 1 [d58ebb2bf674] [Beta 1] * Merged [a2c6488e3385] * Merged [28c5c4dc06d6] 2007-11-22 teichmann * waskaweb/lib/base.py: Add positive list of parts of login page. Its commented out. [03177c7c7719] 2007-11-21 frank * waskaweb/templates/start/start.mako: Meldung für Admin überarbeitet. [dc5ff626d690] * waskaweb/templates/start/start.mako: Fix: Überzähliges is-Statement entfernt. [e6523ff95759] * waskaweb/templates/start/start.mako: Komplette Trennung der Begrüßungsdialoge Admin-KA und CM-KA [3e86fea3230d] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Bugfix waskaweb/i18n/de/LC_MESSAGES/waskaweb.po:172: Found plural forms for non-pluralizable message [62129f6360e4] 2007-11-22 Torsten Irlaender * .hgtags: Added tag Beta 1 for changeset 459635837fc5 [adc2d81f6183] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/lib/casedata.py, waskaweb/model/user.py: Added ordering for user and cases in the overview pages Changed date in footer. [459635837fc5] * waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/appointments.mako: Changes appointments. User can not select or delete any appointment in casemode (only for beta9 [0cbbec36fa63] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/statement.py, waskaweb/templates/casemanagement/new.mako: Reactivated parts of the old behavior when creating a new case. The user can now printout out the privacy statement _before_ the case is actually created Added 'address' as possible Substitution in statementens. [5af5fbf6b818] 2007-11-21 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Fixed po file [098bc1fe93b5] * Merged [7fad1d464f34] 2007-11-21 teichmann * production_wsgi.ini, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py: - Added production_wsgi.ini - Send missing fields of PDF import to stderr - comment some debugging info [c8c84642250b] 2007-11-21 Torsten Irlaender * waskaweb/lib/evaluation.py: Hopefully fixed ISE for evaluation with no casedata [c81a04ede8d7] * waskaweb/templates/casemanagement/formular.mako: Fixed open clearer [b7f39f680698] * waskaweb/templates/dialogs/notification.mako: Fixed layout in notification dialog [f5b013621059] * Merged [d9145e2f1d3a] 2007-11-21 benni * waskaweb/templates/start/help.mako: commented latin help out. added small help sentence [a2ff1389b27c] * waskaweb/templates/dialogs/alert.mako, waskaweb/templates/dialogs/confirm.mako, waskaweb/templates/dialogs/notification.mako: added alt to img [a324a97faab1] * waskaweb/templates/start/help.mako: removed modusfield DRUCKVERSION from help [99567a572b44] * waskaweb/templates/start/help.mako: html validation, headers have no the id help_NUMBER [c40be385fe28] * waskaweb/templates/casemanagement/new.mako: html validation in "fallakte anlegen" [8b873c25be4a] * waskaweb/templates/documents/global_overview.mako: html validation [4166a8486e87] * waskaweb/public/styles/print.css: print version improved [ac3c13ad4f7a] * waskaweb/public/styles/all.css, waskaweb/templates/statement/edit.mako: privacyStatement layout [2d5cedc27cef] 2007-11-21 Torsten Irlaender * waskaweb/controllers/appointment.py, waskaweb/templates/appointments /dialogs/notificate_delete_appointment.mako: Implemented "Not implemented Notifier" on deleting appointments [f45aec03987e] * waskaweb/templates/main.mako: Fixed Html syntax on error messages [38019f368699] * waskaweb/lib/validators.py: Removed punctuation from custom error messages [293bd7d48d9b] * waskaweb/templates/main.mako, waskaweb/templates/main_login.mako: Added translation dictionary for translating error output of formencode [747ac008f955] 2007-11-21 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/edit_user.mako: merged [b91ae2c0a6e9] * waskaweb/public/styles/print.css: changed font-size for h1 and content_ueberschrift [b25064306dba] * waskaweb/templates/appointments/beta/show_1.mako, waskaweb/templates/appointments/beta/show_10.mako, waskaweb/templates/appointments/beta/show_2.mako, waskaweb/templates/appointments/beta/show_3.mako, waskaweb/templates/appointments/beta/show_4.mako, waskaweb/templates/appointments/beta/show_5.mako, waskaweb/templates/appointments/beta/show_6.mako, waskaweb/templates/appointments/beta/show_7.mako, waskaweb/templates/appointments/beta/show_8.mako, waskaweb/templates/appointments/beta/show_9.mako: breadcrumbs in fake appointments [7ebf0410b21e] * waskaweb/templates/start/start.mako: changed content in "Schwarzes Brett" for user adm [cf0a3d5750b9] * waskaweb/public/styles/screen.css, waskaweb/templates/administration/edit_user.mako: changed content in "Schwarzes Brett" for adm user [927a044ff2eb] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: changed "zurück zur nutzerübersicht" to "zurück zu: Benutzeransicht" and added key to po, pot [108d20c42c57] 2007-11-21 Torsten Irlaender * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/main.mako, waskaweb/templates/usersettings/show_settings.mako: Fixed cause for various syntax warnings [11ac0ebcde7c] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/edit_user.mako: Fixedi translation issue in user administration [d2761dc8a0f9] 2007-11-21 benni * waskaweb/templates/appointments/beta/show_1.mako~, waskaweb/templates/appointments/beta/show_2.mako~, waskaweb/templates/appointments/beta/show_3.mako~, waskaweb/templates/appointments/beta/show_4.mako~: merged [cf7f03171120] * waskaweb/templates/appointments/beta/show_1.mako, waskaweb/templates/appointments/beta/show_1.mako~, waskaweb/templates/appointments/beta/show_10.mako, waskaweb/templates/appointments/beta/show_2.mako, waskaweb/templates/appointments/beta/show_2.mako~, waskaweb/templates/appointments/beta/show_3.mako, waskaweb/templates/appointments/beta/show_3.mako~, waskaweb/templates/appointments/beta/show_4.mako, waskaweb/templates/appointments/beta/show_4.mako~, waskaweb/templates/appointments/beta/show_5.mako, waskaweb/templates/appointments/beta/show_6.mako, waskaweb/templates/appointments/beta/show_7.mako, waskaweb/templates/appointments/beta/show_8.mako, waskaweb/templates/appointments/beta/show_9.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/start/start.mako: appointments fake templates added [ea887ba10b36] 2007-11-21 Torsten Irlaender * waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako: Merged [2593fd97f491] 2007-11-21 teichmann * waskaweb/controllers/waska.py, waskaweb/model/agency.py: Remove some unneeded code. [e8934b0daf6d] 2007-11-21 Torsten Irlaender * formed/formedtree_web.xml: Fixed broken Layout in "Biographische Daten" [0bdf424fb4f0] * waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/main.mako: Set default value for aid objects to "-/-". Printing of the addplan (mian template of case), opens a new window now [791bf4e29f71] * waskaweb/templates/appointments/beta/show_1.mako~, waskaweb/templates/appointments/beta/show_2.mako~, waskaweb/templates/appointments/beta/show_3.mako~, waskaweb/templates/appointments/beta/show_4.mako~: Removed temporary files. [bebad1b7d2c4] 2007-11-21 benni * waskaweb/templates/appointments/beta/show_1.mako, waskaweb/templates/appointments/beta/show_1.mako~, waskaweb/templates/appointments/beta/show_2.mako, waskaweb/templates/appointments/beta/show_2.mako~, waskaweb/templates/appointments/beta/show_3.mako, waskaweb/templates/appointments/beta/show_3.mako~, waskaweb/templates/appointments/beta/show_4.mako, waskaweb/templates/appointments/beta/show_4.mako~: changed path to main.mako, fake appointments working [3bd07d48ba44] * waskaweb/controllers/dummy.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako: merged [99456aed3c14] * waskaweb/templates/appointments/beta/show_1.mako, waskaweb/templates/appointments/beta/show_1.mako~, waskaweb/templates/appointments/beta/show_2.mako, waskaweb/templates/appointments/beta/show_2.mako~, waskaweb/templates/appointments/beta/show_3.mako, waskaweb/templates/appointments/beta/show_3.mako~, waskaweb/templates/appointments/beta/show_4.mako, waskaweb/templates/appointments/beta/show_4.mako~, waskaweb/templates/appointments/show.mako, waskaweb/templates/start/start.mako: added folder "beta" with fake appointments show_1 - show_4 [73681661aa27] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: changed agentureinstellungen in left menu to agentur [40f181040513] 2007-11-21 Torsten Irlaender * waskaweb/controllers/appointment.py: Modified show controller for appointments to serve fake appointments in beta [c8e90e7be799] * waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako: Removed obsolte overview pages for documents [71d564372ac8] * waskaweb/controllers/dummy.py: Merged [a26900282e6d] 2007-11-21 teichmann * waskaweb/controllers/dummy.py: Removed dummy controller to solve issue11. [a9075326d449] * waskaweb/model/navigation.py: Fix fuer issue161 [9b8a0c9b9c12] 2007-11-20 teichmann * waskaweb/model/navigation.py: Propagate highlighting of 'Gliederung' deeper into navigation tree. [a6242695189a] 2007-11-21 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako: Fixed issue 162 [851b615fff43] * waskaweb/model/agency.py, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: Renamed ap_formular to fp_formular idn agenency and affected templates [e016aee9ac01] 2007-11-21 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/print.css: changed menu in adm "benutzerübersicht" to "benutzer" [8257ffb9bd78] 2007-11-20 benni * waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: improved modusfield and code [5744501d6baf] * waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css: menu gliederung highlighting whole line [dd8ba9b26f0b] * merged [183f97c9cd82] * waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css: changes on menu - not yet completed [86e1a9eb5dcf] * waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css: small changes on print layout, menu paddings [854dfa5821a9] 2007-11-20 Torsten Irlaender * Merged [1fc53a73a895] * Merged [8fcdb94ab4f8] 2007-11-20 teichmann * waskaweb/model/navigation.py: Removed invalid '>' bracket. [09d918d4bb06] 2007-11-20 benni * waskaweb/public/styles/color3.css: highlighting gliederungspunkte [87a78c6376dc] * merged [815b74945ba0] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/color3.css: footer changed [9826732f96bf] 2007-11-20 Torsten Irlaender * waskaweb/model/user.py: Fixed pemanent "need login" problem [447bd46458ac] 2007-11-20 teichmann * waskaweb/controllers/case.py, waskaweb/model/navigation.py: Hilight selected 'Gliederung' [ae31f4f37cd6] 2007-11-20 Torsten Irlaender * formed/formedtree_web.xml: Set headers to invisible [9d06d5cc0845] 2007-11-20 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/main.mako: merged [0bacd76c5744] * waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/start/start.mako: modusfields, left menu height [b2a4aba5dc01] * waskaweb/templates/documents/global_upload.mako: merged [4b87a11d272f] * waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/main.mako: removed pagenumber (beta phase) worked on print version [9a497fd6ab40] * waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: improved left menu height because of footer [311b719188ae] * waskaweb/public/styles/screen.css: space between p and .button in dialog [adad9a4d3eed] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/new_user_result.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/start/help.mako: modusfield in new user, renaming of menuitems, changed sentence [010b7adb452f] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: added footer [a4c572d5f9ca] 2007-11-19 benni * development_wsgi.ini, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/formular.mako: changed port, changed table in casemanagement digest [757767753722] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/administration/new_user.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako, waskaweb/templates/usersettings/edit_standin.mako: merged [97d428b20797] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako: backbtns changed, print version [cac972c994ec] * waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako: merged [151061e5f306] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/public/styles/all.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/print.css, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/documents/global_upload.mako, waskaweb/templates/start/help.mako: modusfield backbtns [e86ca3bfcdc0] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/usersettings/change_password.mako, waskaweb/templates/usersettings/edit_standin.mako: table in documents fixed, renaming backbtns in mein konto [b1bb6750b9af] * waskaweb/public/styles/all.css, waskaweb/templates/appointments/show.mako, waskaweb/templates/usersettings/change_password.mako, waskaweb/templates/usersettings/edit_standin.mako: modusfield in "mein konto" backbtn in change pw and change stand-in [e9d78773a1e4] * waskaweb/templates/documents/global_upload.mako, waskaweb/templates/main.mako: greater than valid html, link document "globalOverview" [e57ef4a804a0] * waskaweb/templates/documents/global_new.py, waskaweb/templates/documents/global_upload.mako: merged [dea8ec38fdbc] * waskaweb/public/styles/all.css, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_upload.mako: admin documents div [4e425a8adf90] * waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/login.mako: login screen submit button [960a20f176ba] 2007-11-20 Torsten Irlaender * waskaweb/controllers/case.py: Merged [c0662163bfdc] 2007-11-20 teichmann * merged [c3f458d3ffd0] * waskaweb/controllers/case.py: Use correct _save() call for new case. [2983a0b9d058] 2007-11-20 frank * Merge [d386116dd792] 2007-11-20 waska * waskaweb/templates/administration/show_settings.mako: Einverständnis and Förderplan commented - taken out of display. [b5c605657bf6] * waskaweb/templates/administration/edit_settings.mako: Einverständnis and Förderplan taken out of settings edit. Minor formatting changes [f689f4894876] 2007-11-20 teichmann * waskaweb/controllers/case.py: Using keys for page identifcation. [6e62090b4108] 2007-11-20 Torsten Irlaender * Merged [da15fa9a17ad] 2007-11-20 frank * Merge [35b93fd51995] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Update String for "cm_form_standin_submit": "Aendern" is more generic than "Uebertragen" [d52c906ecf99] 2007-11-20 Torsten Irlaender * Merged [9423284c2c6d] * waskaweb/controllers/case.py: Merged [e5c75298f0b7] * waskaweb/controllers/case.py: Merged [0173f9bad402] 2007-11-20 teichmann * waskaweb/controllers/case.py: Fixed problem with "Unterstuetzungsangebote" in "Speichern und weiter" [fc8666fb3a3c] 2007-11-20 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/statement/dialogs/missing_statement.mako: Fixed issue114 [d9f535f87ece] * waskaweb/controllers/administration.py, waskaweb/model/user.py: Fixed issue147 ISE on deleting error. Removed some debugging output from user.py [c70c988d46ca] * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/dialogs/notificate_printall.mako: Fixed again notification dialog for missing printall feature in beta [168d207b73e3] * waskaweb/controllers/case.py: Merged [9fe5ae72725d] 2007-11-20 teichmann * waskaweb/controllers/case.py, waskaweb/lib/renderer.py, waskaweb/model/navigation.py: First version of "Speichern und weiter" button in formular. Still broken: Unterstützungsangebote and advancing first page of subtopic. [4e563e02ef84] 2007-11-19 teichmann * waskaweb/templates/documents/global_overview.mako: Fix for Issue153 [1f488a950f25] 2007-11-19 waska * waskaweb/templates/documents/global_upload.mako: Bugfix issue153: call correct action [ae5b36120c60] 2007-11-19 teichmann * development_wsgi.ini, waskaweb/controllers/document.py: - Fix for issue151 - Changed default DB port to 5343 [55cf3cfbbff7] 2007-11-19 frank * Merge [48b38903d138] 2007-11-19 waska * waskaweb/templates/administration/show_user_body.mako: Account details "isActivated" and "needsNewPass" only visible to role Admin-KA. [b14e893f3b1c] * waskaweb/templates/usersettings/show_settings.mako: editStandin only visible for role CM_KA. [e57904a70636] 2007-11-20 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/controllers/usersettings.py, waskaweb/model/user.py: Admin users can not be set as standin anymore (enhacement of issue138) [765247c7e9f1] * waskaweb/templates/casemanagement/dialogs/notificate_printall.mako: Added missing "not implemented" dialog. [c65ae31c76e3] * development_wsgi.ini: Switched to new DB-Cluster [7d9daea74619] 2007-11-19 Torsten Irlaender * Merged [8d1e22ff0906] 2007-11-19 frank * waskaweb/lib/security.py: Merge [bbf2609eee2a] * waskaweb/model/user.py, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_document.mako: Merge [8123b72f08eb] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Korrektur Strings in Agentureinstellungen. [8aea8fefa0c6] * Merge [6c31bd0ec253] * waskaweb/lib/security.py, waskaweb/model/user.py: Merge [66106cfc3959] 2007-11-18 frank * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Harmonisiergun: Einheitlich "Konto" statt teilweise "Account". [645f47b648a2] * waskaweb/templates/documents/global_new.py: Merge [3a9e5cdfc5a3] 2007-11-16 frank * waskaweb/lib/security.py: getDbName: Anpassung an neue Zertifikatsstruktur: dbname im 3. Teil des CN. [8eae46d44f97] * waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/documents/global_overview_body.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/documents/upload.mako, waskaweb/templates/main.mako: Merge [a77049c7baf5] 2007-11-16 waska * waskaweb/lib/helpers.py, waskaweb/lib/security.py, waskaweb/model/user.py, waskaweb/templates/main.mako: issue124: Zentraler Admin-User implementiert, im Menu nur Benutzer /DB-Verwaltung sichtbar [c78771a7e5ad] 2007-11-19 Torsten Irlaender * Merged [e1598277e032] * Merged [98064ce46319] 2007-11-19 teichmann * merged. [e8e821554018] * waskaweb/lib/base.py: Print redirect to Apache-Log in case of invalid sessions. [f561951cd6f6] 2007-11-19 Torsten Irlaender * waskaweb/lib/validators.py: Hard wired german language for formencode error messages [2189a633e559] * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/main.mako: Added notification dialog for missing "printall" function in beta version of waska notification dialog for missing "printall" function in betaa [585c4e06cd41] * waskaweb/controllers/usersettings.py: Fixed issue146 [e02af146df1c] * waskaweb/lib/security.py: Fixed worng regular expression on login [fb24ad2804cf] * waskaweb/templates/administration/new_user.mako: Fixed issue143 [40a1114270c7] * waskaweb/lib/validators.py: Fixed issue142 [2292278687a9] * waskaweb/controllers/case.py: Added missing part of fix for issue138 [44482bc65422] * waskaweb/controllers/usersettings.py, waskaweb/model/user.py, waskaweb/templates/usersettings/edit_standin.mako: Fixed issue138. [596c09d1fd34] * waskaweb/controllers/administration.py: Changed target when admin chooses not to reset the users password in confirmation dialog [0b0c30210d57] * waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/new_appointment.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako: Fixed missing "confirmed" flag on selecting a case in various templates [4e6e83a5617b] * waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_document.mako: Removed obsolete document templates from the case templates -> they new created under the document templates [ac6d40c45e0d] * waskaweb/model/agency.py: Removed debugging output [94ecbe77ca35] * waskaweb/controllers/case.py: Fixed issue148 [89b4e5b0844a] 2007-11-18 teichmann * waskaweb/templates/documents/global_overview.mako: Added target="_blank" to download links of global documents. [f95e1c147c53] * waskaweb/lib/app_globals.py, waskaweb/lib/filters.py, waskaweb/templates/casemanagement/digest.mako: Replaced './.' by '-/-' for None values. [5a1efd8c79de] * development_wsgi.ini, waskaweb/controllers/evaluate.py, waskaweb/lib/app_globals.py, waskaweb/lib/pdfimporter.py: Made pdf2xfa server connections configurable by .ini [340bc2df362b] * waskaweb/controllers/evaluate.py, waskaweb/model/user.py: Removed unneeded imports of connection urls. [1225b9d870c2] * waskaweb/lib/security.py: Removed needless check for "'" in passwords. [638e76476854] * development_wsgi.ini, waskaweb/lib/app_globals.py, waskaweb/lib/base.py, waskaweb/lib/db_factory.py, waskaweb/lib/security.py: How to connect to DB is now configurable by .ini file. [7a65f548e93f] 2007-11-16 Torsten Irlaender * Merged [747886807d8a] * waskaweb/controllers/document.py, waskaweb/templates/documents/global_new.py: Merged Bennis Layout Changes [2476d50979fb] 2007-11-16 teichmann * waskaweb/lib/renderer.py, waskaweb/model/data.py: Added support for invisible info fields. [94cbf8b6feeb] 2007-11-16 Torsten Irlaender * waskaweb/controllers/document.py, waskaweb/templates/documents/global_upload.mako: Merged [be34858a3fde] * waskaweb/templates/documents/global_overview.mako: Merged with Bennis layout fixes [756359920735] 2007-11-16 benni * waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/new_appointment.mako: fake table in" termine" [a43983d06927] * waskaweb/public/styles/all.css, waskaweb/templates/documents/global_overview.mako, waskaweb/templates/documents/global_upload.mako, waskaweb/templates/documents/upload_body.mako: "jumping div" in documents cmka [785eeaf01e95] * waskaweb/templates/usersettings/show_settings.mako: modusfield in "mein konto", sentence changed "hier sehen sie..." [254466a1657a] * waskaweb/public/styles/all.css, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/new.mako: fixed "jumping table" in appointments [caebdfb789c9] * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/usersettings/change_password_login.mako: dialog reseted password: small changes on layout and sentences [a63a23c2dcf9] 2007-11-16 Torsten Irlaender * Merged [3a77f2e39c87] 2007-11-16 teichmann * waskaweb/templates/documents/global_overview.mako: Fixed broken link in viewing and deleting global documents. [d03248ced9ba] * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/lib/filters.py, waskaweb/model/document.py, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_overview.mako: Fixed links for documents of cases. [c4086023f527] 2007-11-16 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/edit_settings.mako: Updated language files [0da321ba7e35] * waskaweb/controllers/document.py, waskaweb/i18n/waskaweb.pot, waskaweb/templates/documents/global_new.py, waskaweb/templates/documents/global_upload.mako: removed global_new.py in Templates. [fde938753a9e] 2007-11-16 benni * waskaweb/model/file.py, waskaweb/model/renderer.py, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako, waskaweb/templates/documents/global_overview_body.mako, waskaweb/templates/documents/global_upload.mako, waskaweb/templates/documents/upload.mako: merged and fix table in "unterstützungsangebot" [1f624ee8a619] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: merge: FU merge from this morning [ceea329d9e54] * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/show_settings.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/upload.mako: modusfields and possibility to navigate to previous page added [e6369e6516d7] * waskaweb/public/styles/all.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/overview_user.mako: modusfield and format of formulars [ca82b6e725bc] * waskaweb/public/styles/ie6.css: space between input fields ie6 login [716d07ac34fb] * waskaweb/public/styles/screen.css, waskaweb/templates/logout.mako, waskaweb/templates/main_login.mako: login, logout finished [aaff4f1e5204] * waskaweb/templates/main_login.mako: login screen [9768bc3eea9c] * waskaweb/public/styles/screen.css: login screen [8c379260da94] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/rg_aid_overview.mako: merged [b51c4ee1e48e] * waskaweb/public/styles/screen.css, waskaweb/templates/login.mako, waskaweb/templates/main_login.mako: login screen [0fa69d44588d] 2007-11-15 benni * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/documents/upload_body.mako: table in cm documents is now equal to the table in cm appointment [1da1fbdf24cb] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/screen.css, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_appointment.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako: added content_header_small to improve space between content and header [4cf4b96f128a] 2007-11-16 teichmann * waskaweb/controllers/document.py, waskaweb/templates/documents/global_new.py, waskaweb/templates/documents/global_overview.mako, waskaweb/templates/documents/global_upload.mako, waskaweb/templates/documents/upload.mako, waskaweb/templates/main.mako: Fixed linking for global document import. [d704e25fed9a] 2007-11-16 Torsten Irlaender * Merged [c47fb143e5fc] 2007-11-16 frank * waskaweb/lib/renderer.py: Überflüssiges
-Tag zwischen Label und Textarea entfernt [9a9564e5c70e] * Merge [a22456658f16] * waskaweb/model/file.py, waskaweb/model/renderer.py: Merge [786804e38e58] * formed/waska-hilfetexte.xhtml: Bugfix Hilfetexte (paragraph schliessen) [c541cdc7ca10] 2007-11-15 frank * waskaweb/controllers/usersettings.py: Bugfix issue130: Typo in action-String [c66a3bdd9195] * formed/waska-hilfetexte.xhtml: Neu: Hilfetexte für "besuchte Schule" und "Schulabschluss" [05e6aef0074c] 2007-11-16 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/documents/case_new.mako, waskaweb/templates/documents/case_overview.mako, waskaweb/templates/documents/global_overview.mako, waskaweb/templates/documents/global_overview_body.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako: Prepared document templates for adding case specific documents. [0f01fa8cc82d] 2007-11-16 teichmann * waskaweb/lib/filters.py, waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako: Added fixes for None-issue (full text search in RoundUp should be improved) [72dcf6a500d2] 2007-11-16 Torsten Irlaender * Merged [5d95b38d4dfa] 2007-11-16 teichmann * waskaweb/lib/filters.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/documents/global_overview_body.mako: - Added filename in document download - added filters library. [2465893d685f] 2007-11-16 Torsten Irlaender * formed/aid_plan_statement.html, waskaweb/controllers/administration.py, waskaweb/model/agency.py, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako: Enhanced edit settings in administration for editing the aid plan statement [53d7b6c00b8e] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/agency.py, waskaweb/model/file.py, waskaweb/model/renderer.py: Merged [ac8f2a6abc69] 2007-11-16 teichmann * waskaweb/model/agency.py: Fix for issue131 [ebdccdd88b33] 2007-11-16 teichmann * waskaweb/controllers/case.py: Removed import dependency from removed file. [8792e5dad1fc] * waskaweb/controllers/document.py, waskaweb/controllers/waska.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py, waskaweb/model/document.py, waskaweb/model/file.py, waskaweb/model/renderer.py, waskaweb/templates/documents/global_overview_body.mako: Added support for database driven global document serving. Removed old unneeded code. [14170b6ae6aa] 2007-11-15 Torsten Irlaender * Merged [dbe44e4abc6a] * waskaweb/controllers/usersettings.py: Fixed issue130 [051d26422509] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Merged [131d24e823e6] 2007-11-15 frank * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Eingeloggt als -> Angemeldet als und ein paar weitere Übersetzungen [a03bcbdf3c44] 2007-11-15 Torsten Irlaender * formed/aid_plan_statement.html, formed/privacy_statement.html, formed/statement.html, waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/lib/casedata.py, waskaweb/model/agency.py, waskaweb/model/statement.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako, waskaweb/templates/statement/dialogs/missing_statement.mako, waskaweb/templates/statement/edit.mako: Added new statement for the aid plan. Did some refactoring on the statements. This mainly includes Renaming classes as we need to differ between to kinds of statements now (PrivacyStatement, AidPlanStatement) [708b5cc24cf3] * Merged [e15b55f2d916] 2007-11-15 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/public/styles/all.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/appointments/appointment_form.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/new_appointment.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako, waskaweb/templates/documents/upload_body.mako, waskaweb/templates/main_login.mako: modusfields added, login screen [70e424fab940] * waskaweb/templates/casemanagement/repeat.mako: merged [9756851be688] * waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/login.mako, waskaweb/templates/main_login.mako: modusbox width, login ff waska [0153d528c942] 2007-11-14 benni * waskaweb/public/styles/screen.css: header fontsize of main nav fits with gliederung headers [f38ee62238fc] * waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/main.mako: modusbox in documents and appointments [e6079cedff6e] * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: fallback solution: gliederung, legends, border. position abmelden changed [9900cade6e89] * waskaweb/templates/casemanagement/digest.mako: sentence corrected: hier wird zusammenfassung [408e6617ab9f] * waskaweb/templates/casemanagement/overview.mako: select field in "fallakten übersicht" commented out [8c36e4adf8a9] * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css: added min-height fast hack for ie6 [97d1fd72a745] 2007-11-15 Torsten Irlaender * formed/statement.html, waskaweb/controllers/statement.py, waskaweb/model/agency.py, waskaweb/templates/statement/edit.mako: Fixed printing of the privacy statement [58bb7fa9b570] * waskaweb/controllers/administration.py, waskaweb/controllers/usersettings.py, waskaweb/model/user.py: Fixed missing standin user object on showing user details in admin view [b141af39e294] * waskaweb/lib/casedata.py, waskaweb/model/user.py: User can now modify their standin. [11f86aaf25f7] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/repeat.mako: Merged [852f91b659b6] 2007-11-15 teichmann * waskaweb/lib/security.py: Removed logging of connection url on DB connect. The url contains the password of user the current user in plain text. [307c5d434306] * waskaweb/templates/casemanagement/dialogs/notificate_import_dub.mako : Added missing template for error handling for PDF import. [15cb70a5d539] 2007-11-14 teichmann * waskaweb/controllers/case.py: - Exceptions in PDF import are no longer reported as Tracebacks. - Changed text of 'kundennummer' duplications a bit. [5019618f6127] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py: Redirect to overview after successfull PDF-Upload. Check for duplications of 'kundennummer'. [ef171e7c2589] 2007-11-15 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/repeat.mako, waskaweb/templates/casemanagement/rg_aid_overview.mako: Implemented setting stanin an editor for cases. Renamed repeat.mako to rg_aid_overview.mako [18e894e5546f] 2007-11-14 Torsten Irlaender * waskaweb/templates/casemanagement/repeat.mako: Fixed issue35. Application stays in edit-mode when selecting an aid object [13d6ccc1038f] 2007-11-14 benni * waskaweb/model/file.py: Added helper import [c2e4816da76c] * waskaweb/lib/renderer.py, waskaweb/public/no-certificate.html, waskaweb/templates/main.mako: Merged with main [5e00cb3bcdb6] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/new.mako, waskaweb/templates/main.mako: typos t01-t04, onclick event is now available in the templates [dfe0fa8397c0] * formed/formedtree_web.xml, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css: formular boxes fixed, legends without strikeout. [f21362728490] * formed/formedtree_web.xml, waskaweb/model/objects.py, waskaweb/templates/administration/change_password.mako, waskaweb/templates/administration/change_password_login.mako, waskaw eb/templates/administration/dialogs/notificate_setpassword.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/start/settings.mako: merged [e90df7e997d2] 2007-11-13 benni * waskaweb/public/styles/screen.css: .. [d137d3f1c09f] * waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: icons, contentheader formats [901ce6d667f7] * formed/formedtree_web.xml, waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: new contentheader, forward backward navigation deleted, spacing tables, spacing p, div container adminnavigation fixed, modusfield displayed correct in casemanagement, problems: legend, left menu ff, format formulars [1623e3a36e15] 2007-11-12 benni * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: fixed jumping div content container (ie browser) [c5c152b70984] * formed/formedtree_web.xml: reverted form [76ca117c18e3] * waskaweb/model/ka_data.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: merged [cc7d834f87b3] * waskaweb/lib/renderer.py, waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: layout [6c0e5f4e3489] 2007-11-09 benni * formed/formedtree_web.xml: merged [2559c9f99a33] * waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css: ie6css [b0c8184d438b] * formed/formedtree_web.xml, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako: small changes functionality [0c12d266227a] 2007-11-08 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: element "datenschutz". trying to implement new functionality in the menubar [cbc0dd3f1ea9] * waskaweb/public/styles/color3.css, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: merged [84d5344c380b] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: new modusfield position. casemanagement header changednew modusfield position. casemanagement header changed.. [41030c8f7c5b] * waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: new elements positioned and colored. [711e63c2e84e] 2007-11-07 benni * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: New elements created, left menu and casemanagement [75acab90c638] * waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: news elements positioned [a32b5298ae49] * merged [d51771e34199] * sicherung pull [a7869c0cdde8] 2007-11-06 benni * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: uberschriften in content_header [e8a9ab89caf0] * waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: modusfield in contentheader eingepflegt C D modusfield u [9ddf7db93936] 2007-11-14 Torsten Irlaender * waskaweb/lib/casedata.py: Merged [fa0a3bcf8227] 2007-11-14 teichmann * waskaweb/lib/renderer.py, waskaweb/model/navigation.py, waskaweb/public/js/check.js, waskaweb/public/no-certificate.html, waskaweb/templates/main.mako: Added simple JavaScript check for modifications for formular data. [770134d740eb] 2007-11-13 Torsten Irlaender * Merged [d0d434b2774c] 2007-11-13 frank * waskaweb/templates/statement/dialogs/missing_statement.mako: Tippfehler im Hinweistext korrigiert, kleine Verkürzung des Textes. [fecc59e5b7e0] 2007-11-13 Torsten Irlaender * Merged [42ca86d1f575] * waskaweb/model/objects.py, waskaweb/templates/administration/change_password.mako, waskaweb/templates/administration/change_password_login.mako, waskaw eb/templates/administration/dialogs/notificate_setpassword.mako, waskaweb/templates/start/settings.mako: Merged [c54c685ff541] 2007-11-13 teichmann * waskaweb/lib/pdfimporter.py: Fix for issue68 [42fc3a7de31f] 2007-11-13 Torsten Irlaender * waskaweb/lib/casedata.py: Merged [5c642d382dc6] * Merged [7e279dd80d7f] * Merged [40f9fefc3b65] 2007-11-13 teichmann * merged. [55be1fe1f989] * waskaweb/lib/pdfimporter.py: Fix for issue73 [02daa3e71dd7] 2007-11-13 Torsten Irlaender * waskaweb/lib/casedata.py: Merged [8d0bc0f7f32f] 2007-11-13 teichmann * formed/formedtree_web.xml, waskaweb/lib/pdfimporter.py: Fix for issue106. [6fa32c5134fb] * merged [d9c6b2c55860] * waskaweb/lib/casedata.py: Bug fix for DB code of PDF-Importer. [4f787bc8f04b] 2007-11-14 Torsten Irlaender * waskaweb/lib/casedata.py: Fixed issue88. German date format in aid list. [a9bc621185a2] 2007-11-13 Torsten Irlaender * waskaweb/controllers/usersettings.py, waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/usersettings/edit_standin.mako: Standinuser is now show in the user details. Further the section box in the edit standin dialog is now preselected with the current standin [4ec861d0665d] * waskaweb/model/user.py: Userobjects now include the standin user. [39a5390e43b1] * waskaweb/controllers/administration.py, waskaweb/controllers/usersettings.py, waskaweb/controllers/waska.py, waskaweb/lib/base.py, waskaweb/templates/administration/change_password.mako, waskaweb/templates/administration/change_password_login.mako, waskaw eb/templates/administration/dialogs/notificate_setpassword.mako, waskaweb/templates/start/settings.mako, waskaweb/templates/usersettings/change_password.mako, waskaweb/templates/usersettings/change_password_login.mako, waskaweb/templates/usersettings/dialogs/notificate_setpassword.mako, waskaweb/templates/usersettings/show_settings.mako: Moved fuctions to change the userpassword (by the user) to the usersettings controller. [0692adf2c56a] * waskaweb/model/file.py: Added new file holding the fileobjects [281e44355a70] * waskaweb/templates/administration/dialogs/notificate_deleteuser.mako : Added short dialog telling the user that the the deletion of users are not implemented yet [5d8ea14e4943] * waskaweb/controllers/usersettings.py, waskaweb/templates/usersettings/edit_standin.mako, waskaweb/tests/functional/test_usersettings.py: Added new controller and template for handling the usersettings [95151675460b] * waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/waska.py, waskaweb/lib/security.py, waskaweb/lib/validators.py, waskaweb/model/objects.py, waskaweb/model/user.py, waskaweb/templates/start/settings.mako: Refactored UserObject, Added dialogs for setting the user's standin [cb46a4b1712d] * waskaweb/lib/casedata.py: Fixed issue111 [e89624a15815] * waskaweb/controllers/administration.py: Added notification on user deletion which tells the user that deleiting is not implementend in the beta version yet [e19a23ad5838] * waskaweb/templates/casemanagement/evaluation_result.mako: Fixed issue108: Renaming "Erstberatung" -> "Beratungskunde" [1f573f7005ee] * waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/digest.mako: Fixed issue 98. Implemented right join for evaluations and make debugging output is going to sys.stderr. [518607052035] * waskaweb/templates/casemanagement/overview.mako: Added short output if the search did not return a result [05f6839ab6bf] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/validators.py, waskaweb/templates/casemanagement/overview.mako: Implemented search for cases [8e3105d4d7a1] * waskaweb/controllers/statement.py, waskaweb/templates/statement/dialogs/missing_statement.mako, waskaweb/templates/statement/edit.mako: Fixed issue110. Changed texts for dialogs handling missing statements. [624acc5b2c35] 2007-11-12 Torsten Irlaender * waskaweb/templates/casemanagement/formular.mako: Fixed issue104. [3472a9a55f52] * Merged [db1f51a5d337] * waskaweb/templates/administration/new_user_result.mako: Fixed issue102: Resultpage on user creation now displays the correct value for the users login [5cb988828fa8] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Merged [36a8a404829f] 2007-11-12 teichmann * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py: Write PDF import to DB. [e1db87265cf7] 2007-11-12 Torsten Irlaender * waskaweb/controllers/administration.py: Fixed issue103. Confirmation dialog on user deleting is now more verbose [0a25f2e3998c] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/agency.py: New created cases are now initialised with ka specific data and the name of the current user. [8d6680fbea2b] * waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/lib/casedata.py, waskaweb/model/statement.py, waskaweb/templates/casemanagement/main.mako: The statement flag can now be saved [50725195641c] * waskaweb/controllers/administration.py, waskaweb/controllers/statement.py, waskaweb/lib/validators.py, waskaweb/model/agency.py, waskaweb/model/ka_data.py, waskaweb/templates/administration/edit_settings.mako, waskaweb/templates/administration/show_settings.mako, waskaweb/templates/main.mako: KA settings are now editable by the administrator. Setting include: * Name of the KA * Name of the FKZ * Html content for the privacy statement * Flag for anonymous syncing with the DLR [b9c97dee9014] 2007-11-09 teichmann * waskaweb/model/navigation.py: Added navigation for Kontaktdaten. [8677d5b7a116] 2007-11-09 Torsten Irlaender * formed/formedtree_web.xml, waskaweb/lib/renderer.py: Fixed renderer. New foredtree version [13b80dfe8af8] * waskaweb/lib/validators.py: Disabled form validation on creating new casedata [a0b9842921f9] * formed/formedtree_web.xml: Fixed Layout for "schule" [0bf30dd40d49] * formed/formedtree_web.xml: Merged [1e0d0e804595] * formed/formedtree_web.xml: New formed tree [ce5fda6c8dfd] 2007-11-08 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/validators.py: Prepared form validation on creating new cases. Currently form data is validated but there are no error messages shown if the data is not valid. [803016c272ac] 2007-11-09 teichmann * formed/formedtree_web.xml, waskaweb/lib/pdfimporter.py: New FormEd tree to get in sync with the master web FormEd tree. [442ae9ff7e48] 2007-11-09 teichmann * formed/formedtree_web.xml: New FormEd tree with a new 'einverstaendnis_page' and a new 'einverstaendnis' boolean. [0425a9b9858e] 2007-11-08 teichmann * waskaweb/lib/pdfimporter.py: Try to encode strings which are not unicode with Latin-1 encoding in relation dump of the PDF importer. [609d0089ecc7] * waskaweb/lib/pdfimporter.py: Added remap for 'Kompetenzagentur' -> 'Kundenummer' in PDF importer. [74ebd9fac215] * waskaweb/lib/pdfimporter.py: Added remaps in PDF importer to handle version differences between 1.0 an 1.1+ for 'Foerderplanung.' [6fe3c206dd0f] 2007-11-08 Torsten Irlaender * Merged [c87dc544a89f] 2007-11-08 teichmann * formed/formedtree_web.xml: Changed choice bools sonstiges all to value -2 [fd60d9356483] * waskaweb/lib/pdfimporter.py: Add support for PDF combo boxes. [fb281b764a84] 2007-11-08 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/new.mako: Display the nag screen for missing privacy statement on creation of new cases [179ddd501342] * waskaweb/templates/statement/dialogs/missing_statement.mako, waskaweb/templates/statement/edit.mako: Changed (cleaned up) options in the nag screen which is shown when the privacy statement is missing. [6918e885efe7] * Merged [aa6e7bf86046] * waskaweb/lib/validators.py: Fixed issue86: Max length of the login is now checked while creating the user. [4cfff6441c7e] * waskaweb/templates/casemanagement/new.mako: Fixed path to the inherited main template [43603507c80d] * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/controllers/statement.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/new.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako, waskaweb/templates/statement/default_statement.mako, waskaweb/templates/statement/dialogs/confirm.mako, waskaweb/templates/statement/dialogs/missing_statement.mako, waskaweb/templates/statement/edit.mako: Changed workflow regarding to handling missing privacy statements. Now we show up a nag screen everytime the user selects a case which does not have a signed privacy statement. The user can then decide how to proceed. This behaviour differs from the former way where the user needs to set the statement on creation of a new case. The changes mainly includes adding a new controller and template files for handing web requests for the statement. Further some changes on some other places to bind in the current workflow. [281b94734982] 2007-11-07 Torsten Irlaender * waskaweb/model/ka_data.py: Added new class under model which will hold information about the agency. [20c7e4411035] 2007-11-07 teichmann * formed/formedtree_web.xml: Added alternatives for 'Familiare Situation' [9863127147b6] * formed/formedtree_web.xml: New FormEd tree with alternatives for 'Begleitung'. [30f9ab988fda] * waskaweb/lib/pdfimporter.py: Added a remap dictionary to PDF importer to map XFA fields that are modeled differently in FormEd. [b29ad9891970] * formed/formedtree_web.xml, waskaweb/lib/pdfimporter.py: New FormEd tree with 'arreitsmarkt' alternative for 'arbeitsmarkt' [27daa8d092bb] * formed/formedtree_web.xml: New FormEd tree with alternatives for 'Verfahren_Kompetenzfeststellung' [8e22fb3f4b2e] * waskaweb/model/semantic.py: Added support for ISO noted dates. [4e04fe87279f] * formed/staatsangehoerigkeit.xml, waskaweb/model/semantic.py: Using 'alternative' attribute in PDF import. [4a2668f68f81] 2007-11-07 Torsten Irlaender * Merged [013652fb6e68] 2007-11-07 teichmann * waskaweb/model/semantic.py: Added support for date of form 'dd.MM.yy' if yy > 0 and y < 70 then 2000 is added to year if yy >= 70 and y < 100 then 1900 is added to years [3220d597c5b2] * waskaweb/model/nodecomponents.py, waskaweb/model/semantic.py: Add support for 'alternative' attribute in node components. [63980b3c07c2] 2007-11-07 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/organisation.mako: Selection list in the case organisation ist now generated with the actual users in the db. [9783e8bd31b6] * formed/waska-hilfetexte.xhtml, waskaweb/lib/formular_help.py: Added files needed for diplaying help texts in the formular [d538a683b270] * waskaweb/model/navigation.py: GetHeaders function now returns a list of headers which represents the path to the selected formular item. [ac71c25c2515] 2007-11-06 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/lib/app_globals.py, waskaweb/lib/renderer.py, waskaweb/templates/casemanagement/help.mako: Implemented help on the formular pages again. Added new functions and templates to access the help from within the formular. The helpdata is loaded once on application startup. [ad2a5783bbd8] * waskaweb/lib/helpers.py, waskaweb/model/navigation.py: Added function to fetch the headers for a particular site. [1e4874d775b1] * waskaweb/templates/casemanagement/static_form/page_0.mako, waskaweb/templates/casemanagement/static_form/page_1.mako, waskaweb/templates/casemanagement/static_form/page_10.mako, waskaweb/templates/casemanagement/static_form/page_11.mako, waskaweb/templates/casemanagement/static_form/page_12.mako, waskaweb/templates/casemanagement/static_form/page_13.mako, waskaweb/templates/casemanagement/static_form/page_14.mako, waskaweb/templates/casemanagement/static_form/page_15.mako, waskaweb/templates/casemanagement/static_form/page_16.mako, waskaweb/templates/casemanagement/static_form/page_17.mako, waskaweb/templates/casemanagement/static_form/page_18.mako, waskaweb/templates/casemanagement/static_form/page_19.mako, waskaweb/templates/casemanagement/static_form/page_2.mako, waskaweb/templates/casemanagement/static_form/page_20.mako, waskaweb/templates/casemanagement/static_form/page_21.mako, waskaweb/templates/casemanagement/static_form/page_22.mako, waskaweb/templates/casemanagement/static_form/page_23.mako, waskaweb/templates/casemanagement/static_form/page_24.mako, waskaweb/templates/casemanagement/static_form/page_3.mako, waskaweb/templates/casemanagement/static_form/page_4.mako, waskaweb/templates/casemanagement/static_form/page_5.mako, waskaweb/templates/casemanagement/static_form/page_6.mako, waskaweb/templates/casemanagement/static_form/page_7.mako, waskaweb/templates/casemanagement/static_form/page_8.mako, waskaweb/templates/casemanagement/static_form/page_9.mako, waskaweb/templates/casemanagement/static_form/rg_beruf_quali.mako, w askaweb/templates/casemanagement/static_form/rg_berufsvorbereitung.m ako, waskaweb/templates/casemanagement/static_form/rg_foederung_allg emein_bildener.mako, waskaweb/templates/casemanagement/static_form/r g_lebensbewaeltingung.mako: Removed unneeded old static html formular pages [60c57e018687] * waskaweb/model/objects.py: Fixed unicode decode error [4ff300209719] * waskaweb/templates/administration/dialogs/notificate_setpassword.mak o, waskaweb/templates/dialogs/notification.mako: Added notification Dialog. This can be uses to indicate the user if an action was completed successfull or if there where any errors. First use of this new dialog is to the indicate the user his password change [787e8185d92b] * waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/show_user_body.mako: Templates to show the user data now fetches the users role by calling the getRole() function of the user class. [e510b5d2bafb] * waskaweb/lib/helpers.py, waskaweb/model/objects.py: Impelemented getRole function in user class which returns the users role. Modified helpers getRole function so that it uses the new created get role function. Further adopted sql query the fetch oid of the user [b8b8415e0a84] 2007-11-06 teichmann * formed/formedtree_web.xml, waskaweb/lib/security.py: New FormEd-Tree [369e9b6f8657] 2007-11-05 Torsten Irlaender * Merged [84930cc7c8da] 2007-11-05 teichmann * waskaweb/lib/base.py, waskaweb/lib/security.py: Changed access to client side certificate to new way. [fb6257c4b77c] 2007-11-05 Torsten Irlaender * Merged [2ff47be6fe87] * waskaweb/controllers/administration.py: Users can now change their password. This can be sone in two ways: 1. The user is forced to change his password on login. 2. The user changes his password in the user settings. [5f831ccde336] * waskaweb/controllers/administration.py, waskaweb/model/objects.py, waskaweb/templates/administration/change_password_login.mako: User can now change their password. This can be done in two ways: 1. The user is forced to change its username on logon. 2. The user changed his password in his user settings. [a17cec7ab4dc] * Merged [ccabcb4b21b9] * waskaweb/controllers/administration.py, waskaweb/model/objects.py: Users can now set their own password in the user settings [4f6b0b14e87d] * Merged Benni's stylesheets [ed2bba861313] * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: Added IE specific stylesheet [5e4736bc2f8a] * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: Added new stylesheets from benni [26acc4b03a9d] 2007-11-02 benni * waskaweb/public/styles/color3.css: farbänderung für layout.. aukommentiert [836337c5ff30] 2007-11-01 benni * waskaweb/templates/main.mako: eintrag ie6.css rightheader id eintrag [091ea1a8727a] * waskaweb/public/styles/all.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/screen.css: anpassungen der legend, headerabstand... [e58512ec9f93] * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/ie6.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css: ufholen der verlorengegangenen änderungen [8f109bfe49f4] 2007-10-31 benni * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/old_css/all.css, waskaweb/public/styles/old_css/color3.css, waskaweb/public/styles/old_css/print.css, waskaweb/public/styles/old_css/screen.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css: Moved all styles into old_css [0b6a11ec0324] 2007-11-05 Torsten Irlaender * Merged [3466b753ebe4] * waskaweb/model/objects.py, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/new_user_result.mako, waskaweb/templates/administration/show_user_body.mako: Added two additional fields "roomnumber" and "branchoffice" to the formular. [5078bcb1f328] * waskaweb/model/objects.py: Fixed naming of a column in the database. [7ff1d2ee4222] * waskaweb/templates/main.mako: Evaluate function is now shown for the admin too [3bea945ca391] 2007-11-02 Torsten Irlaender * Merged [ab9726b46873] 2007-11-02 teichmann * waskaweb/lib/base.py, waskaweb/lib/security.py, waskaweb/public/no- certificate.html: Added redirect if no valid certificate was found. [1511030fb80b] 2007-11-02 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/lib/validators.py, waskaweb/model/objects.py: Adopted functions for creating new users and reseting their passwords. The functions has moved in the underlying db-scheme from the waska_maintenance into the ka-db. [8073cae856cd] * waskaweb/model/objects.py: Added additional fields to the user class. [e4b869710aae] * waskaweb/model/objects.py: Adpopted sql statement to changes in the table structure ok ka_benutzer_tbl [78b071a482b2] 2007-11-01 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/lib/validators.py, waskaweb/model/objects.py, waskaweb/templates/administration/change_password.mako: Added validation on forumalar data when the user tries to change his password. This includes: Checking min length -> currently 8 Checking if the password includes at least 2 not alpha chars Checking if the the user entered same password in password conformation field. If an error occours the user gets presented a formular error page [346a1c2f37b4] 2007-10-31 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/controllers/waska.py, waskaweb/lib/base.py: Moved checks if the user needs to change his password or the user account is deactivated at all to base.py. This way we can guarantee that no unathorized users can login. [ff60e0bfdb06] * waskaweb/controllers/administration.py, waskaweb/controllers/waska.py, waskaweb/templates/administration/account_deactivated.mako, waskaweb/templates/administration/change_password_login.mako: User who will need to reset their password or are deactivated by the administration are now redirected on a stub page which need to be filled with functionallity. [a270b3b9b839] * waskaweb/public/styles/screen.css, waskaweb/templates/login.mako, waskaweb/templates/logout.mako, waskaweb/templates/main_login.mako: Login and Logout are now inherited by a new main_login.mako template. Added a small piece of style sheet for the new template. [b968edd43c76] * waskaweb/controllers/administration.py, waskaweb/controllers/waska.py, waskaweb/templates/administration/change_password_login.mako: Aadded switch to redirect to user to a special "reset password" page if the user flag is set that the user needs to change his password on login. [b55ecc1b0280] * waskaweb/controllers/waska.py, waskaweb/templates/administration/show_user.mako, waskaweb/templates/administration/show_user_body.mako, waskaweb/templates/start/settings.mako: Users can now view their own account settings. [977667b58874] * waskaweb/controllers/waska.py, waskaweb/lib/helpers.py, waskaweb/templates/main.mako: Added getUserId() helper function which returns the id of the currently loggend in user (id in the ka_benutzer_tbl) Added this id into the main template to be able to display the users setting. [16b659a8bcb9] * Merged [47fd9329d1d4] 2007-10-31 teichmann * waskaweb/lib/pdfimporter.py: PDF-Import: Fixed context problem with unset context in Unterstuetzungs-RGs. [a2fd93b48d7a] * waskaweb/controllers/case.py, waskaweb/lib/pdfimporter.py: Tweaked PDF-Importer to support RGs. [3f53729fbcab] 2007-10-31 Torsten Irlaender * waskaweb/controllers/waska.py, waskaweb/lib/helpers.py, waskaweb/lib/security.py, waskaweb/model/objects.py: A user object is now created on login which holds more information about the currently logged in user. This includes fullname, and some flags indicating if the user will need to reset his pass are is allowed to login at all. This change involves further changes: * check_login now returns a user object instead of the user's role * adopted helpers to get the user role out of the user objects. [9b1bf0582a5c] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot: Updated translation of the user administration. Some strings are still hardcoded in the templates and the controllers [29a663d166d9] 2007-10-30 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/lib/validators.py, waskaweb/model/objects.py, waskaweb/templates/administration/edit_user.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/new_user_result.mako, waskaweb/templates/administration/reset_password.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/main.mako: Mainly added editing user data and resetting userpassword [00479fc796c0] * waskaweb/controllers/administration.py, waskaweb/model/objects.py, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/new_user_result.mako: Added first version of adding new users [e20b7a6f05df] * waskaweb/lib/validators.py: Added library for checking formular values using formencode [36ba6143a8ee] * waskaweb/lib/security.py: The databasename fetched from the SSL certificate is now stored lowercase in the session [1e0aed0affe3] * development_wsgi.ini: Added config var with the name of the maintenance database [259cb707019d] 2007-10-26 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/model/objects.py, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/userform_body.mako, waskaweb/templates/casemanagement/overview.mako: Userlist is now generated from db content. Userdetails are now generated from db content. [3d5b8c4aed84] * waskaweb/config/routing.py: Fixed "broken" routing on deleting cases [13ec89c2e57a] * waskaweb/templates/casemanagement/repeat.mako: Removed Header and Actions links from repeatgroup listing [817a7cc0369f] * waskaweb/lib/casedata.py: Fixed typo in function call Removed unneeded constant var and modified create_statement to make use of prepared statements [ca21bf0033ec] * waskaweb/lib/casedata.py: Activated deleting of untrstützungsangebote [01eca0a0c999] 2007-10-25 Torsten Irlaender * Merged [8c9cbab9022e] 2007-10-25 teichmann * waskaweb/public/styles/all.css, waskaweb/public/styles/color3.css, waskaweb/public/styles/screen.css: New CSS files with different colors. [e0135d2b42ad] 2007-10-25 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/overview.mako: Fixed ISE on selecting digest of a case Fixed part 1 of issue 61 [a2ee8372009c] * waskaweb/templates/casemanagement/evaluation_result.mako: fixed type in style definition [18f73a105430] * waskaweb/lib/helpers.py: Removed locale information. Need to be set now in wsgi starter script [ee4de6aef448] 2007-10-25 teichmann * waskaweb/controllers/case.py: Fixed an accidental toggle after edit a formular page. [ea3e5cc25675] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/formular.mako: Select a dataset after upload from PDF. [dd7ce9a0e68b] 2007-10-25 Torsten Irlaender * waskaweb/templates/casemanagement/overview.mako: Removed doubled header in overview [6e621126500a] * waskaweb/templates/main.mako: Fixed call for evaluation [bc466fd5e540] * waskaweb/controllers/case.py, waskaweb/lib/helpers.py, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/main.mako: Moved printing dialog for the case digest on the left side. Needed to write some extra logic here as we can not determine needed info out of the inheritance of the templates anymore. [6269fe79a394] * waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: Moved actions links from page to the left side. [b973f0ce4e69] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Merged [8877fcf6894a] 2007-10-25 teichmann * waskaweb/controllers/case.py: Disable debug info after upload and redirect to edit page 0. [ab869259c792] * formed/formedtree_web.xml: New FormEd tree [c7ca9d8612de] 2007-10-25 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/repeat.mako: Cleaned up routing paths [f7bf9494797d] 2007-10-25 teichmann * formed/formedtree_web.xml, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py: Use new FormEd tree [18af50f62b75] 2007-10-24 Torsten Irlaender * waskaweb/lib/casedata.py: Activated creation of embedded repeat group "massnahme" [1688569ba12f] * waskaweb/config/routing.py, waskaweb/templates/casemanagement/evaluation_result.mako: Added route for evaluation downloads so that the downloaded csv file has the correct file suffix. [3abb686a80c8] 2007-10-24 teichmann * formed/formedtree_web.xml, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/navigation.py: Make Kompetenz RG data accessible [e55b643916d1] 2007-10-24 Torsten Irlaender * Merged [a72cda826c39] 2007-10-24 teichmann * formed/formedtree_web.xml: A new FormEd tree [3f1b5a75303f] 2007-10-24 Torsten Irlaender * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/evaluation_result.mako: Modified the evaluation result page to make it look cleaner. [24d1dc804c74] * Merged [dbf264a73b6c] 2007-10-24 teichmann * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/navigation.py: First commit on the kompentenz RG navigation. Not working yet. [946568758675] 2007-10-24 Torsten Irlaender * waskaweb/lib/evaluation.py: Fixed wrong calculations in evalutation. [e1c156daf55e] 2007-10-23 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/model/navigation.py: Merged with Sascha. Hopfully nothing broke up while 3way merge using kdiff [df11c4a18105] 2007-10-23 teichmann * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/navigation.py: Add factory model for Navigation tree. [a44c67e5d8c3] 2007-10-23 Torsten Irlaender * waskaweb/public/images/error_small.png: Added mini error icon [2d8683c15e95] * waskaweb/controllers/case.py, waskaweb/lib/helpers.py, waskaweb/lib/renderer.py, waskaweb/model/navigation.py, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: Added error summary on the top of the forular page Moved form action to the left side into the main navigation Marked navigation tree items if the pages are faulty Linked error messages Added image next to formfield to indicate errors [df2522b49dec] * waskaweb/controllers/case.py: Merged [d87a76f570b8] * waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/main.mako: Modified navigation. might look a little bit bad at the moment. Added error summary on the top of the formular page. [61a3e2f3da59] 2007-10-23 teichmann * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py: Created RGs when import case from PDF. [9901565fadb0] 2007-10-23 Torsten Irlaender * waskaweb/lib/renderer.py: Prepared ErrorItem to eat the widget description [c8310a4b5d74] * waskaweb/controllers/case.py: Error Item now eats the descriotion of the widgets it holds the error. (needed for error summary) [96fb31a258f8] * waskaweb/controllers/case.py: Reactived display of formular errors in the formualar [c769acbec8df] * waskaweb/lib/helpers.py: Added helper function for fetching error messages in formular page [67df8bfa1fde] * waskaweb/lib/renderer.py: Prepared ErrorItem for fetching data from the formedtree [f6de58cffd8f] * Merged [33969efdd9f5] 2007-10-23 teichmann * waskaweb/lib/pdfimporter.py, waskaweb/templates/casemanagement/upload.mako: Fix for issue42 [e821dd7d9ef1] 2007-10-23 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py: Fixed ISE when creating new a new dataset without signed statement. [78a4faef26a6] 2007-10-22 Torsten Irlaender * Merged [c23a9343b5a9] 2007-10-22 teichmann * waskaweb/public/images/logo_ka_75.png: Exchanged KA logo with a smaller one in terms of byte size. [df44c2a3fba5] 2007-10-22 Torsten Irlaender * waskaweb/controllers/appointment.py: Fixed ISE on creating new appointment [d9b808901f84] * waskaweb/config/routing.py, waskaweb/controllers/administration.py: Fixed ISE on unimplementes functions in user administration [4bd6b573aab3] * waskaweb/controllers/case.py: Fixed updating infobox when saving casedata [b245c3b402ad] * waskaweb/lib/evaluation.py: Fixed some issues on evaluation. [faf9feccdb48] * waskaweb/controllers/evaluate.py, waskaweb/lib/casedata.py, waskaweb/lib/renderer.py, waskaweb/model/semantic.py, waskaweb/templates/casemanagement/evaluation_result.mako: Changed connection recycling in evaluations Fixed various unicode errors in semantic checker and renderer Fixed broken checkbox renderer (for imported formulars). [20d11be9e395] * waskaweb/controllers/evaluate.py, waskaweb/templates/casemanagement/evaluation_result.mako: Removed eval 10 [8bad1ddc202c] * waskaweb/lib/evaluation.py: Syntax Typo [f7cf9d1be604] * waskaweb/controllers/evaluate.py: Syntax typo [36b84f044706] * Merged [ad78e33d081a] 2007-10-22 teichmann * Merged [3b9884c034f7] * waskaweb/lib/pdfimporter.py, waskaweb/templates/casemanagement/upload.mako: When a relation is empty it is not written. [079866052729] 2007-10-22 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py: Test [129a295d27e1] * waskaweb/lib/evaluation.py: Try except block for null values in evaluation [7b8b04b2855d] * Merged [6ac6fbc13140] 2007-10-22 teichmann * waskaweb/controllers/case.py, waskaweb/model/semantic.py: Fixed a small bug preventing PDFs to be stored in DB. [f8e677ef7d14] 2007-10-22 Torsten Irlaender * waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation_result.mako: Fixed broken evaluation on formdata. results on evaluation can be incorrect because of inkonsistent data in the database. (issue45) [ca4219385e8b] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Merge [3763e6e93ecb] 2007-10-22 teichmann * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/pdfimporter.py, waskaweb/model/semantic.py, waskaweb/templates/tests/trace.mako: Write master table entries to DB. [3612ad6d7290] 2007-10-22 Torsten Irlaender * waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Removed broken dynamic userlist Fixed issue40. Staying in edit mode after saving the issue Fixed issue31. Fixed another encoding error which occours when comparing already stored data in the database with new submitted data. [d3aa3c4fb0b9] 2007-10-21 Frank Koormann * waskaweb/lib/helpers.py: (getLogin): New, return login name from session (getRole): New, return role from session (with translation) * waskaweb/templates/main.mako: Use getLogin and getRole to display status information 2007-10-21 Frank Koormann * waskaweb/templates/start/responsible.mako: Tippfehler korrigiert. 2007-10-21 Frank Koormann * waskaweb/templates/start/responsible.mako: Intevation Kontakt umgestellt, Tippfehler korrigiert. * waskaweb/public/images/logo_intevation.png: Auf nontransparent antialiased aktualisiert, passt zu anderen Logos und sieht gefälliger aus. 2007-10-21 Torsten Irlaender * waskaweb/templates/documents/global_overview_body.mako: Added document overview page for global documents [8e2185cfa00c] * waskaweb/controllers/document.py, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/upload_body.mako: Fixed bug that files are stored with full path when uploading from windows [67245900ec43] * Merge [ce67f58910c8] 2007-10-21 teichmann * waskaweb/lib/pdfimporter.py, waskaweb/model/semantic.py: Added firt version of semantic check for PDF import. [cc944a1841d9] 2007-10-21 Torsten Irlaender * waskaweb/lib/casedata.py: Fixed syntax typo [cffea7995be6] 2007-10-21 teichmann * waskaweb/lib/pdfimporter.py: Better matches for Repeat Groups. [23bafb0a0f46] 2007-10-21 Torsten Irlaender * waskaweb/templates/main.mako: Merge [6c15df658c82] * waskaweb/controllers/evaluate.py, waskaweb/lib/casedata.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/casemanagement/repeat.mako, waskaweb/templates/start/start.mako: * Temporalily removed Delete from repeat groups * Work in progress: Get evaluation back to work [ae3108560dd3] * waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako: Tried to fix layout issues on IE6. Display should now be ok but not perfect. [2ca7cbe2bbae] 2007-10-21 teichmann * waskaweb/lib/pdfimporter.py: Better support for repeat groups [919ca40f246c] * Merged [48f846c5c6d7] * waskaweb/lib/pdfimporter.py: Introduce relations in PDF import [16f05a5b2c86] 2007-10-21 frank * waskaweb/templates/main.mako: Minor fix for Login status info. [4d9644f35725] * Merge [5f6ab1873119] * ChangeLog, waskaweb/lib/helpers.py, waskaweb/templates/main.mako: * waskaweb/lib/helpers.py: (getLogin): New, return login name from session (getRole): New, return role from session (with translation) * waskaweb/templates/main.mako: Use getLogin and getRole to display status information [5ce8a0ef73b7] 2007-10-21 Torsten Irlaender * waskaweb/controllers/case.py: Fixed Internal Server error in search. (missing controller) [c77c778a3f80] * waskaweb/lib/renderer.py: Fixed issue31. Unicode error [35846695f996] * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/static_form/statement_print.mako: Fixed statement printing [c0bdf2b48c2c] 2007-10-21 frank * ChangeLog, waskaweb/templates/start/responsible.mako: * waskaweb/templates/start/responsible.mako: Tippfehler korrigiert. [1c7f51986b56] * ChangeLog, waskaweb/public/images/logo_intevation.png, waskaweb/templates/start/responsible.mako: * waskaweb/templates/start/responsible.mako: Intevation Kontakt umgestellt, Tippfehler korrigiert. * waskaweb/public/images/logo_intevation.png: Auf nontransparent antialiased aktualisiert, passt zu anderen Logos und sieht gefälliger aus. [f25746b50add] * ChangeLog: * ChangeLog: ChangeLog angelegt [0395dfdb8ede] 2007-10-21 teichmann * waskaweb/lib/pdfimporter.py: More cases for PDF import [76732062be14] * waskaweb/lib/pdfimporter.py: More cases in PDF import [6dfc3e2f79ca] * waskaweb/controllers/case.py, waskaweb/lib/pdfimporter.py, waskaweb/templates/casemanagement/upload.mako: Add some output to PDF import [87f703b2a6e9] 2007-10-21 Torsten Irlaender * waskaweb/lib/casedata.py: Fixes syntax type which prevents case digest ti be displayed correct [a988eccc47f9] * waskaweb/templates/main.mako: * Linked logo with start page * Fixed indention [190fc974fa37] * Merged with main [2e2df774bd4f] 2007-10-20 teichmann * waskaweb/lib/pdfimporter.py: Fixed a few syntax errors in PDF importer. [f1916db5efe6] 2007-10-21 Torsten Irlaender * waskaweb/public/styles/all.css, waskaweb/templates/start/responsible.mako: Set fontsize in tables to 10pt Made the project info page a little bit nicer [2d031cc2a23b] 2007-10-20 Torsten Irlaender * waskaweb/lib/security.py, waskaweb/templates/login.mako, waskaweb/templates/logout.mako, waskaweb/templates/main.mako: Fixed title in templates. Agency name is now saved in the session and is used in title of the templates. [b8a06ec88664] 2007-10-20 teichmann * waskaweb/controllers/case.py, waskaweb/lib/pdfimporter.py, waskaweb/templates/tests/trace.mako: Added a trace Mako template to display tracebacks in HTML result. For debugging purpose only! [5b458c4283de] 2007-10-20 Torsten Irlaender * waskaweb/lib/casedata.py, waskaweb/lib/helpers.py: Hopefully fixed unicode decode error an listing cases, digest and listing aids [d68b98277542] * waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py: Commited current version of the evaluation which is still broken. [754211a945f8] * waskaweb/controllers/waska.py, waskaweb/public/images/BMFSFJ_C_M_web.jpg, waskaweb/public/images/eu_logo_4c_pos_web2.jpg, waskaweb/public/images/logo_dlr.png, waskaweb/public/images/logo_intevation.png, waskaweb/public/styles/screen.css, waskaweb/templates/main.mako, waskaweb/templates/start/responsible.mako: Added info page for this project [2b799dc960c9] * waskaweb/controllers/case.py: Added context variable for data_sets [c01e8bcf6782] * waskaweb/lib/helpers.py, waskaweb/model/navigation.py, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/repeat.mako: Implemented dynamic navipath when selecting formular pages. You will need to restart the server an delete your sessiondata. [67736c5c7236] * waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/repeat.mako: Fixed some issues on the navigation path. might need some more work [5cd3b0702fff] * waskaweb/lib/casedata.py: Renamed variable name c to cur because c is already used as context var in pylons. This might lead to problems. [7a16babb13ae] * waskaweb/lib/base.py: Some Cleanup [3da9eff9d198] * waskaweb/templates/casemanagement/repeat.mako: Added roles to repeat groups and inserted short info if no dataset where found [1a6e16f9d65f] * waskaweb/controllers/case.py: Fixed display of the formular when selection appointments, documents etc. in casemode. [4cedbbf4e926] * waskaweb/controllers/case.py: On creation of new Datasets the data of the "einverständniserklärung" is directly stored in the new case. The infofield is now updated when the names in the case changes. [6905bf4549ad] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/static_form/statement.mako: Moved creation of new Datasets into the DSFactory _save Method in the casecontroller now expects a dictionary of lists holding te formulardata instead of an MultiDic. parameter instead of the Pylons [03d86a6ce430] 2007-10-19 teichmann * waskaweb/lib/security.py: Fixed a small syntax typo. [5691e97a310b] 2007-10-19 Torsten Irlaender * waskaweb/lib/security.py: Added check in check_login if we were able to fetch the dbname from the SSL certificate [8036f1ef316f] * waskaweb/lib/base.py, waskaweb/lib/security.py: The database base name is now fetched from the SSL certificate (SSL_CLIENT_S_DN_OU) [cd3546307671] * waskaweb/controllers/case.py, waskaweb/lib/app_globals.py, waskaweb/lib/casedata.py: Implemented deletion of datasets. Fixed bug that admin enters dasedata in edit mode. [9ee135a79236] * development_wsgi.ini, waskaweb/config/environment.py: Moved custom config var from the environment.py to development.ini [ddf8afdc940e] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po: Fixed issue2 and various encoding issues [0d7a284a11d5] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Moved creation (sql statements) of master datasets from controller into casedata.lib Prepared casedata.lib for deleting datasets [1434fc59d93a] * waskaweb/controllers/case.py: Fixed Navigation tree. [8c6f23bd1f14] * waskaweb/config/environment.py, waskaweb/lib/app_globals.py: Removed again config var as it seems not be available in globals [44dbd4a18262] * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py: Fixed printout. Fixed creating new aid repeat groups (wrong indention). [83b11057631b] 2007-10-19 teichmann * waskaweb/controllers/case.py, waskaweb/lib/pdfimporter.py: Extract all widgets from FormEd tree and from PDF XFA [9448d4cc0b97] * waskaweb/model/nodecomponents.py: Small fix for visitors. [3b346cd5c407] * waskaweb/model/data.py, waskaweb/model/nodecomponents.py: Removed dynamic behavior of FormEd tree (modes + events) [b9c817f51b29] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py: replaced 'openDocument()' by 'g.formedTree [81ea743f2cab] 2007-10-19 Torsten Irlaender * development_wsgi.ini: Removed missplaced formed.tree from development.ini [079ba55e32dd] * waskaweb/config/environment.py: Added config var for the path to the formedtree [b3a083dd80ae] 2007-10-19 teichmann * Merged [58dbc04f8b03] * development_wsgi.ini, formed/formedtree_web.xml, formed/laender.xml, formed/sprachen.xml, formed/staatsangehoerigkeit.xml, waskaweb/lib/app_globals.py: The FormEd tree is loaded at applikation startup time and published under 'g'. External choices are loaded as well. [eee9afeb3a04] 2007-10-19 Torsten Irlaender * waskaweb/controllers/case.py: Merged with main [a2bbd1067988] 2007-10-18 teichmann * waskaweb/controllers/case.py, waskaweb/lib/pdfimporter.py, waskaweb/templates/main.mako: Added code to upload PDF data from Web-Client, send the data to the pdf2xfa server and convert result to DOM tree. [a0036645cacb] 2007-10-19 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/administration.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/renderer.py, waskaweb/model/navigation.py, waskaweb/model/objects.py, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/repeat.mako: Impelemted Adding, Listenling and editing of "Untertsützungs" repeat groups. [dce74e98b3e5] 2007-10-18 Torsten Irlaender * development_wsgi.ini: Store sessiondata as file again [de747f6aa275] * development_wsgi.ini: Beaker sessions does not cope with redirects. so disabling this again. [d000b94c3a33] * development_wsgi.ini, waskaweb/config/middleware.py, waskaweb/lib/security.py, waskaweb/model/objects.py: Added development_wsgi.ini with better security for sessions. Sessions are now held in meory and expire after 1800secs (30min) Fixed finally statement in exceptions and syntax [5e69a2528549] * waskaweb/controllers/administration.py, waskaweb/lib/base.py, waskaweb/lib/db_factory.py, waskaweb/model/objects.py: Added some lines to fetch userdata for administration [7f0624d55c7f] * waskaweb/controllers/case.py, waskaweb/model/navigation.py, waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/repeat.mako: * Added overviewpage for the repeatgroups so that it is only one page for all "unterstuetzungsangebote" * Added stub for adding new untertsuetzungsang. in case controller [50d27889c270] 2007-10-17 Torsten Irlaender * waskaweb/model/navigation.py, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/static_form/statement.mako: * Removed numbering in the formular structure * Fixed statement (Einverstaendniserklaerung) [8ff3617bc4e9] * development.ini, waskaweb/config/middleware.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/error.py, waskaweb/controllers/waska.py, waskaweb/lib/base.py, waskaweb/lib/helpers.py, waskaweb/lib/security.py, waskaweb/templates/login.mako, waskaweb/templates/main.mako: Removed authkit and implemented an own sessionbased authentification * Roles are now determined by the user roles of te database users * removed role switching selectbox [93d8e79ac863] * waskaweb/controllers/administration.py, waskaweb/lib/db_factory.py, waskaweb/lib/helpers.py, waskaweb/lib/security.py, waskaweb/model/objects.py, waskaweb/templates/casemanagement/repeat.mako: Implemented loginfunction. Users are now authenticated against the db [8dad867a0f6b] * waskaweb/lib/renderer.py, waskaweb/public/styles/all.css: Added style for disabed select boxes. This does not work fpr IE [40a2a8076464] 2007-10-16 Torsten Irlaender * waskaweb/lib/renderer.py, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: * Added rendering of "readonly class attribute in renderer * Added readonly css * Reformated templates (indention) * Fixed some sytax errors in html [48a11e098adb] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/renderer.py, waskaweb/templates/casemanagement/main.mako: Did some cleanup in the casecotroller code. Modiefied FormDataImpl. FormDataImpl is now instanciated by providing a nodecomponent instead of a list of widgets. This makes to toolchain which leads to a renderable page a littlebit more easy. [d8bc6264f004] * waskaweb/controllers/case.py, waskaweb/lib/renderer.py, waskaweb/public/styles/all.css: Implemented Read/Write Mode in Formular [486a47b8d0ff] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/templates/casemanagement/static_form/statement.mako: * DataSetDigest: Fix for fetching the wrong names from the db * New DataSet can now be created form the webinterface. TODO: modify create_master_ds so that is takes agruments to be able to create non empty ds. * Replaced session "statement" var by already existing sessions vars. [0c9e07bf11a1] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/db_factory.py, waskaweb/lib/evaluation.py, waskaweb/lib/helpers.py, waskaweb/lib/renderer.py, waskaweb/model/data.py, waskaweb/model/navigation.py, waskaweb/model/nodecomponents.py, waskaweb/model/objects.py, waskaweb/model/semantic.py, waskaweb/public/styles/all.css, waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/view/__init__.py, waskaweb/view/renderer.py: Mainly implemented dynamic formular generation from database. * Formulardata is now filled by data form the database * Formdata ca be saved in the database * Changed formating of numbers to german notation [ebf062d2d3b8] 2007-10-15 Torsten Irlaender * waskaweb/templates/main.mako: Convertet hardcoded absolut urls into a function call "url_for" which hopefully helps generating the correct paths in a wgsi environment. [66961d19139b] * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/appointments/overview.mako: Updated translation [cb5e0b1293d7] 2007-10-14 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/lib/helpers.py, waskaweb/model/data.py, waskaweb/model/memory.py, waskaweb/model/nodecomponents.py, waskaweb/model/renderer.py, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/casemanagement/export.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/repeat.mako, waskaweb/templates/casemanagement/static_form/rg_beruf_quali.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: * bound in roles in templates. case management should be complete. need some for for documents and appointments. [816163e899fe] 2007-10-12 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/model/objects.py, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/overview.mako: Digest view of the dataset is now driven by data from the database. [979040952845] * waskaweb/controllers/case.py, waskaweb/lib/casedata.py, waskaweb/lib/db_factory.py, waskaweb/model/objects.py, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/main.mako: * Did some renaming on the factorys * Bound in new DB api * Overview is now generated from the db datasets * Removed propritary "alt" attribute in links [a6ac08fe9607] * waskaweb/config/routing.py, waskaweb/controllers/administration.py, waskaweb/public/styles/all.css, waskaweb/public/styles/print.css, waskaweb/public/styles/screen.css, waskaweb/public/styles/web.css, waskaweb/templates/administration/change_password.mako, waskaweb/templates/administration/dialogs/confirm.mako, waskaweb/templates/administration/dialogs/confirm_deleteuser.mako, w askaweb/templates/administration/dialogs/confirm_resetpassword.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/reset_password.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/administration/userform_body.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/new_appointment.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/dialogs/confirm.mako, waskaweb/templates/start/settings.mako: Various changes: * Added resetPassworod stub * Added changePassworod stub * Reorganised stylesheet which make them hopefully a littlebit more clear. This should have sived some small layout issues (alignement of headers on tables) * Modified the navipath for administration an the casemanagement. Added to an "selected" item to the casemanagement. [406c7f442977] 2007-10-11 Torsten Irlaender * waskaweb/controllers/dummy.py, waskaweb/lib/helpers.py, waskaweb/templates/main.mako: Added function to remove all views so that we are able to see all parts of the page regardless of the userrole. This is only for tests. [e8eae28f3ce3] * waskaweb/controllers/dummy.py, waskaweb/lib/helpers.py, waskaweb/templates/main.mako: Implemented simple role changer at the bottom of the page. Role will be saved as string for testing. [7b0f52e13914] * waskaweb/lib/helpers.py, waskaweb/templates/main.mako: Added helper function "hasRole" and made use of it in the main.mako template to hide the admin menu. Note that the hasRole always returns False at the moment so the admin menu will be hidden. [baaee347aa9c] * Changelog.txt, waskaweb/controllers/dummy.py, waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/lib/template.py, waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/evaluation_result.mako: Added last missing evalutaion on the casedata. Modified the style for evaluation tables a little bit. Added missing template.py file which is responsible for rendering a customized login form in connection with authkit. [55439d0617ce] * development.ini, waskaweb/templates/login.mako: Added customized loginmask [8b13d369732b] * development.ini, waskaweb/controllers/waska.py, waskaweb/templates/logout.mako, waskaweb/templates/main.mako: Added logout function. Clicking on Logout will remove the authorisation cookie of authkit and throw the user on a logout page. [1639984a3890] 2007-10-10 teichmann * development.ini: Changed port back to 5001 [8e3bf879da7c] * development.ini, waskaweb/config/middleware.py, waskaweb/lib/security.py: Added check for password with custom check function. [ac7aa7d86685] 2007-10-10 Torsten Irlaender * development.ini, waskaweb/config/middleware.py: Added authentification and authorization with authkit [abdb2a8f9dd7] * .hgignore, waskaweb/controllers/waska.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/login.mako, waskaweb/templates/main.mako: Added very simple login screen. [178d332edbee] * Merged from main [202d9fd98ba8] * waskaweb/templates/documents/overview_body.mako: Fixed file size in documents overview. Size is now shown in KB [b1483b0f9bfa] 2007-10-10 teichmann * waskaweb/controllers/case.py: Prevent navigaation toggle when displaying first page. [3a7abfabd1c5] 2007-10-10 Torsten Irlaender * waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation_result.mako: Fixed ordering on evalaution of the age structure [59d0fbda97e8] * waskaweb/public/styles/all.css: fixed floating labels on checkboxes [798f484a47fe] 2007-10-09 Torsten Irlaender * waskaweb/templates/casemanagement/static_form/rb_lebensbewaeltingung .mako: merged from main [39ca51880951] * waskaweb/public/styles/screen.css: changed fonts for screen to sans-serif [2bee5ee6c531] 2007-10-09 teichmann * Merged! [26fa90a13439] * waskaweb/model/navigation.py, waskaweb/templates/casemanagement/stat ic_form/rb_lebensbewaeltingung.mako, waskaweb/templates/casemanageme nt/static_form/rg_lebensbewaeltingung.mako: Fixed typo rb_ -> rg [aff7578afc55] 2007-10-09 Torsten Irlaender * merged from main [a92f5825e76d] * waskaweb/templates/main.mako: Changed role [117dce9bc36c] 2007-10-09 teichmann * Merged [62ef5b93518d] * waskaweb/templates/casemanagement/static_form/rb_lebensbewaeltingung .mako: Added missing RG template. Added missing RG template. [ff7284154677] 2007-10-09 Torsten Irlaender * waskaweb/templates/casemanagement/evaluation_result.mako: Fixed umlauts in evaluation [f03585a4894b] * waskaweb/controllers/case.py: Type in alert dialog [4e2bcd2b07ec] * waskaweb/controllers/case.py, waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/casemanagement/organisation.mako: Fixed typos. [d7fe5a6475dd] * waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/templates/casemanagement/static_form/statement_print.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Fixed typo and made document uploads and downloads work (only for global docs) [785a0c8859ac] * waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/start/settings.mako: Fixed translation [a8dacca79586] * waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/images/icons/form_help.png, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/static_form/page_0.mako, waskaweb/templates/casemanagement/static_form/statement.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Added translations [d2740fa1ef88] 2007-10-09 teichmann * waskaweb/controllers/case.py, waskaweb/model/navigation.py, waskaweb/templates/casemanagement/repeat.mako, waskaweb/templates/casemanagement/static_form/page_21.mako, waskaweb/templates/casemanagement/static_form/page_22.mako, waskaweb/templates/casemanagement/static_form/page_23.mako, waskaweb/templates/casemanagement/static_form/page_24.mako, waskaweb/templates/casemanagement/static_form/rg_beruf_quali.mako, w askaweb/templates/casemanagement/static_form/rg_berufsvorbereitung.m ako, waskaweb/templates/casemanagement/static_form/rg_foederung_allg emein_bildener.mako: Add fake repeat group navigation for case managment. [d9f5f39e2fcf] 2007-10-09 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/public/images/alert.png, waskaweb/public/images/error.png, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/casemanagement/dialogs/alert.mako, waskaweb/templates/casemanagement/dialogs/confirm.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/static_form/statement.mako, waskaweb/templates/dialogs/alert.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako: Various fixes and small enhancements [776f1adc5f1f] * waskaweb/controllers/case.py, waskaweb/model/navigation.py, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/static_form/statement.mako: Implemented dynamic formular navigation [385fd4ba28f3] 2007-10-09 teichmann * waskaweb/model/navigation.py: Added lookup, toggle and rendering for navigation menu. [8c13519cc947] * waskaweb/controllers/case.py, waskaweb/controllers/hardcopy.0, waskaweb/model/navigation.py: Added a simple model for dynamic document navigation. [de50a520ea5b] 2007-10-09 Torsten Irlaender * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/controllers/waska.py, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/static_form/page_1.mako, waskaweb/templates/casemanagement/static_form/page_10.mako, waskaweb/templates/casemanagement/static_form/page_15.mako, waskaweb/templates/casemanagement/static_form/page_16.mako, waskaweb/templates/casemanagement/static_form/page_17.mako, waskaweb/templates/casemanagement/static_form/page_18.mako, waskaweb/templates/casemanagement/static_form/page_19.mako, waskaweb/templates/casemanagement/static_form/page_2.mako, waskaweb/templates/casemanagement/static_form/page_20.mako, waskaweb/templates/casemanagement/static_form/page_21.mako, waskaweb/templates/casemanagement/static_form/page_22.mako, waskaweb/templates/casemanagement/static_form/page_23.mako, waskaweb/templates/casemanagement/static_form/page_24.mako, waskaweb/templates/casemanagement/static_form/page_3.mako, waskaweb/templates/casemanagement/static_form/page_4.mako, waskaweb/templates/casemanagement/static_form/page_5.mako, waskaweb/templates/casemanagement/static_form/page_6.mako, waskaweb/templates/casemanagement/static_form/page_7.mako, waskaweb/templates/casemanagement/static_form/page_8.mako, waskaweb/templates/casemanagement/static_form/page_9.mako, waskaweb/templates/casemanagement/static_form/statement.mako: Added static formular pages Added first version of the "Einverständniserklärung" [00363f9f813f] * waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/controllers/dummy.py, waskaweb/controllers/waska.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/lib/evaluation.py, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/administration/settings.mako, waskaweb/templates/administration/userform_body.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/static_form/page_0.mako, waskaweb/templates/casemanagement/static_form/page_1.mako, waskaweb/templates/casemanagement/static_form/page_10.mako, waskaweb/templates/casemanagement/static_form/page_11.mako, waskaweb/templates/casemanagement/static_form/page_12.mako, waskaweb/templates/casemanagement/static_form/page_13.mako, waskaweb/templates/casemanagement/static_form/page_14.mako, waskaweb/templates/casemanagement/static_form/page_15.mako, waskaweb/templates/casemanagement/static_form/page_16.mako, waskaweb/templates/casemanagement/static_form/page_18.mako, waskaweb/templates/casemanagement/static_form/page_19.mako, waskaweb/templates/casemanagement/static_form/page_2.mako, waskaweb/templates/casemanagement/static_form/page_20.mako, waskaweb/templates/casemanagement/static_form/page_21.mako, waskaweb/templates/casemanagement/static_form/page_22.mako, waskaweb/templates/casemanagement/static_form/page_23.mako, waskaweb/templates/casemanagement/static_form/page_24.mako, waskaweb/templates/casemanagement/static_form/page_3.mako, waskaweb/templates/casemanagement/static_form/page_4.mako, waskaweb/templates/casemanagement/static_form/page_5.mako, waskaweb/templates/casemanagement/static_form/page_6.mako, waskaweb/templates/casemanagement/static_form/page_7.mako, waskaweb/templates/casemanagement/static_form/page_8.mako, waskaweb/templates/casemanagement/static_form/page_9.mako, waskaweb/templates/login.mako, waskaweb/templates/main.mako: Added dummy files for static formular pages Added some translation Began to bind in the db [d3b7e02fff8b] 2007-10-08 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/lib/casedata.py, waskaweb/lib/db_factory.py, waskaweb/model/objects.py: Started to implemented the binding for the database. [68db31f87ee9] * waskaweb/controllers/dummy.py, waskaweb/lib/evaluation.py: Added small dummyfunction "setup" to ad 100 dummy datasets for evaluation Fixed encoding issue in the evaluation [c32f16f48aae] 2007-10-07 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/controllers/evaluate.py, waskaweb/lib/evaluation.py, waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/evaluation_result.mako: Moved evaluation in its own controller. Implemented csv export [6a3b3dc08304] 2007-10-06 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/evaluation.py, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/casemanagement/evaluation_result.mako: Added more evaluations on the cases. [08f6dd97f45f] 2007-10-05 Torsten Irlaender * waskaweb/controllers/case.py, waskaweb/lib/evaluation.py, waskaweb/public/styles/all.css, waskaweb/templates/casemanagement/evaluation_result.mako: Started to add evaluation functions [e232a4a65825] 2007-10-04 Torsten Irlaender * waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/templates/casemanagement/overview.mako: Modified translation Click on view in the case overview now opens the case digest site. [86bf462cf0b9] * waskaweb/public/styles/screen.css, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/documents/overview_body.mako: Added style sheet for "action"-icons. [b08446017937] * waskaweb/public/images/icons/trash.png, waskaweb/public/images/icons/view.png, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/documents/overview_body.mako: Added trash and view icon to the overview pages [24597da89bf9] * waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/en/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/templates/administration/show_user.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/create_export_scheme.mako, waskaweb/templates/casemanagement/dialogs/confirm.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/casemanagement/export.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/repeat_group_overview.mako, waskaweb/templates/casemanagement/upload.mako: Continued internationalisation. [38db29397b53] 2007-10-02 Torsten Irlaender * waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/all.css, waskaweb/public/styles/screen.css, waskaweb/templates/administration/delete_user.mako, waskaweb/templates/administration/dialogs/confirm.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/administration/userform_body.mako, waskaweb/templates/appointments/appointment_form.mako, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/new_body.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/appointments/show_body.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/new_appointment.mako, waskaweb/templates/casemanagement/new_document.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/dialogs/confirm.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/documents/upload.mako, waskaweb/templates/documents/upload_body.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako, waskaweb/templates/tests/forms.mako: Added internationalisation [c8087970c5f2] 2007-10-01 Torsten Irländer * .hgignore, development.ini, setup.py, waskaweb/config/routing.py, waskaweb/controllers/case.py, waskaweb/i18n/de/LC_MESSAGES/waskaweb.po, waskaweb/i18n/en/LC_MESSAGES/waskaweb.po, waskaweb/i18n/waskaweb.pot, waskaweb/public/styles/print.css, waskaweb/public/styles/web.css, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/main.mako: Added i18n support for the main template. Added print support for formular pages. [1ad740adb964] 2007-09-30 Torsten Irlaender * .hgignore, waskaweb/public/styles/print.css, waskaweb/templates/main.mako: Added printerfriendly stylesheet [2d426fd2404a] * data/templates/login.mako.py, data/templates/logout.mako.py, data/templates/main.mako.py, data/templates/start/help.mako.py, data/templates/start/settings.mako.py, data/templates/start/start.mako.py: Removed cached templates [09bc3d1ccc96] 2007-09-28 Torsten Irländer * data/templates/start/settings.mako.py, data/templates/start/start.mako.py, waskaweb/config/routing.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/public/images/error.png, waskaweb/public/images/icons/arrow3_e.gif, waskaweb/public/images/question.png, waskaweb/public/styles/web.css, waskaweb/templates/administration/dialogs/confirm.mako, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/appointments/dialogs/confirm.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/casemanagement/dialogs/confirm.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/static_form.mako, waskaweb/templates/dialogs/confirm.mako, waskaweb/templates/documents/dialogs/confirm.mako, waskaweb/templates/start/settings.mako: Added confirmation dialogs. [aa8fd401a9de] 2007-09-26 Torsten Irländer * data/templates/main.mako.py, data/templates/start/start.mako.py, waskaweb/controllers/case.py, waskaweb/public/styles/web.css, waskaweb/templates/administration/delete_user.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/overview_user.mako, waskaweb/templates/administration/show_user.mako, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/new_body.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/overview_body.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/appointments/show_body.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/create_export_scheme.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/evaluation.mako, waskaweb/templates/casemanagement/evaluation_result.mako, waskaweb/templates/casemanagement/export.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/upload.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/overview_body.mako, waskaweb/templates/documents/upload.mako, waskaweb/templates/documents/upload_body.mako, waskaweb/templates/main.mako, waskaweb/templates/start/start.mako: Written stylesheet for the layout. The website now looks (hopfullly) pretty much like the final version will be. [ae89efe9f86e] 2007-09-24 Torsten Irländer * waskaweb/controllers/administration.py, waskaweb/templates/administration/newUser.mako, waskaweb/templates/administration/new_user.mako, waskaweb/templates/administration/overviewUser.mako, waskaweb/templates/administration/overview_user.mako: Renamed files to make nameing mmore consistent [e4420cfb1b1c] * data/templates/main.mako.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/templates/administration/overviewUser.mako, waskaweb/templates/appointments/overview.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/main.mako: Various small changes in templating. Added some missing pages. Wired the pages. [f08cec6fd357] 2007-09-24 teichmann * waskaweb/model/help.py, waskaweb/view/__init__.py, waskaweb/view/renderer.py: Added classes for help and formular rendering. [d6df299cae37] 2007-09-24 Torsten Irländer * data/templates/main.mako.py, waskaweb/config/environment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/model/forms.py, waskaweb/model/objects.py, waskaweb/templates/administration/newUser.mako, waskaweb/templates/administration/overviewUser.mako, waskaweb/templates/appointments/new.mako, waskaweb/templates/appointments/show.mako, waskaweb/templates/casemanagement/appointments.mako, waskaweb/templates/casemanagement/documents.mako, waskaweb/templates/casemanagement/main.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/upload.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/documents/upload.mako, waskaweb/templates/main.mako: Finished restructuring the templating. Added fileuploads. [954b971c9267] 2007-09-24 teichmann * waskaweb/model/engine.py: Remove engine. [a53e8f58b1be] * waskaweb/model/data.py, waskaweb/model/io/__init__.py, waskaweb/model/io/document.py, waskaweb/model/io/factories.py, waskaweb/model/io/parser.py: Added io support for FormEd documents. [6b8c07994240] 2007-09-24 Torsten Irländer * Merge from the main repo [db3e3c310a26] * data/templates/main.mako.py, data/templates/start/help.mako.py, data/templates/start/settings.mako.py, data/templates/start/start.mako.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/waska.py, waskaweb/model/engine.py, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/repeat_group_overview.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/main.mako, waskaweb/templates/start/help.mako, waskaweb/templates/start/settings.mako, waskaweb/templates/start/start.mako: Changed the way how the site is rendered. Instead of using a statemachine which controls what will be rendered, now the templates take over the responsibility for this. So we removed the Stateengie which becomes needless. [3f8973323ee3] 2007-09-24 teichmann * waskaweb/model/data.py, waskaweb/model/expr.py, waskaweb/model/nodecomponents.py: Added the model for the FormEd tree. [2d66b39f5410] * waskaweb/model/memory.py, waskaweb/model/view.py: Models the rendering access to views [21a02954f8f8] 2007-09-21 Torsten Irländer * .hgignore, data/templates/start/start.mako.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/waska.py, waskaweb/model/engine.py, waskaweb/model/renderer.py, waskaweb/templates/appointments/overview.mako, waskaweb/templates/casemanagement/digest.mako, waskaweb/templates/casemanagement/formular.mako, waskaweb/templates/casemanagement/organisation.mako, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/casemanagement/repeat_group_overview.mako, waskaweb/templates/documents/overview.mako, waskaweb/templates/start/start.mako: Added for templates and continued to wire the pages. And yes... we should introduce a more detailed changelog! [a18b62a49019] * data/templates/start/help.mako.py, data/templates/start/settings.mako.py, data/templates/start/start.mako.py, waskaweb/controllers/case.py, waskaweb/controllers/waska.py, waskaweb/model/engine.py, waskaweb/model/renderer.py, waskaweb/templates/casemanagement/overview.mako, waskaweb/templates/start/help.mako, waskaweb/templates/start/settings.mako, waskaweb/templates/start/start.mako: Just a snapshot of the current development [d9fc85348547] 2007-09-19 Torsten Irländer * data/templates/main.mako.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/waska.py, waskaweb/model/engine.py, waskaweb/model/renderer.py, waskaweb/templates/main.mako: Fixed outstanding bugs. I hope we now have some sort of boilerplate code to build on. [39ddb5621abd] 2007-09-18 Torsten Irländer * data/templates/main.mako.py, waskaweb/controllers/waska.py, waskaweb/model/engine.py, waskaweb/model/renderer.py, waskaweb/public/styles/web.css, waskaweb/templates/main.mako: Started to implemented the dicussed rending model. Checked in current snapshot which is _not_ working currently. [bc8fb5d38019] * MANIFEST.in, README.txt, data/templates/login.mako.py, data/templates/logout.mako.py, data/templates/main.mako.py, development.ini, docs/index.txt, ez_setup/README.txt, ez_setup/__init__.py, setup.cfg, setup.py, test.ini, waskaweb.egg- info/PKG-INFO, waskaweb.egg-info/SOURCES.txt, waskaweb.egg- info/dependency_links.txt, waskaweb.egg-info/entry_points.txt, waskaweb.egg-info/paste_deploy_config.ini_tmpl, waskaweb.egg- info/paster_plugins.txt, waskaweb.egg-info/requires.txt, waskaweb .egg-info/top_level.txt, waskaweb/__init__.py, waskaweb/config/__init__.py, waskaweb/config/environment.py, waskaweb/config/middleware.py, waskaweb/config/routing.py, waskaweb/controllers/__init__.py, waskaweb/controllers/administration.py, waskaweb/controllers/appointment.py, waskaweb/controllers/case.py, waskaweb/controllers/document.py, waskaweb/controllers/error.py, waskaweb/controllers/hardcopy.0, waskaweb/controllers/template.py, waskaweb/controllers/waska.py, waskaweb/lib/__init__.py, waskaweb/lib/app_globals.py, waskaweb/lib/base.py, waskaweb/lib/helpers.py, waskaweb/model/__init__.py, waskaweb/model/engine.py, waskaweb/model/renderer.py, waskaweb/public/images/logo_ka_75.png, waskaweb/public/styles/web.css, waskaweb/templates/login.mako, waskaweb/templates/logout.mako, waskaweb/templates/main.mako, waskaweb/tests/__init__.py, waskaweb/tests/functional/__init__.py, waskaweb/tests/functional/test_administration.py, waskaweb/tests/functional/test_appointment.py, waskaweb/tests/functional/test_case.py, waskaweb/tests/functional/test_document.py, waskaweb/tests/functional/test_waska.py, waskaweb/tests/test_models.py, waskaweb/websetup.py: Initial import [07112f53bb53]