Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
dev:proposal:patron_statistical_categories [2012/03/20 23:32] – [Objects Affected] update table definition sprater | dev:proposal:patron_statistical_categories [2012/03/25 15:54] – [Requirements] clarify default value behavior sprater |
---|
=== Patron Registration Screen === | === Patron Registration Screen === |
| |
* In patron registration, if the statistical category is required, do not allow the user to save the record if no default entry has been set AND no entry has been selected or no free text has been entered. | * When registering a new patron or updating the record for an existing one, if the statistical category is required, do not allow the user to save the record if no default entry has been set AND no entry has been selected or no free text has been entered. |
* In patron registration, do not allow the user to enter text if the statistical category is set up to not allow user-entered text. | * When registering a new patron or updating the record for an existing one, do not allow the user to enter text if the statistical category is set up to not allow user-entered text. |
* In patron registration, display a default value in the statistical category if a default entry has been configured in the entry list. Allow the user to save the record if the user makes no change to the field; the value of the statistical category will be the default entry. | * When registering a new patron, display a default value in the statistical category form field if a default entry has been configured in the entry list for the org unit or an ancestor org unit. Allow the user to save the record if the no change is made to the field; the value of the statistical category will be the default entry. When updating existing patrons, no default value will be supplied: the value of the form field will either be the previously-saved value or empty. |
| |
===== Objects Affected ===== | ===== Objects Affected ===== |
| |
All modified files are available at [[https://github.com/sprater/Evergreen/tree/patcatstat|https://github.com/sprater/Evergreen/tree/patcatstat]]. | All modified files are available at [[https://github.com/sprater/Evergreen/tree/patstatcat|https://github.com/sprater/Evergreen/tree/patstatcat]]. |
| |
Comparisons: [[https://github.com/sprater/Evergreen/compare/patcatstat|https://github.com/sprater/Evergreen/compare/patcatstat]] | Comparisons: [[https://github.com/sprater/Evergreen/compare/patstatcat|https://github.com/sprater/Evergreen/compare/patstatcat]] |
| |
**Database TABLE ''actor.stat_cat''** | **Database TABLE ''actor.stat_cat''** |
**NEW Database TABLE ''actor.stat_cat_entry_default''** | **NEW Database TABLE ''actor.stat_cat_entry_default''** |
* Create a new table ''actor.stat_cat_entry_default'' to store default entries for statistical categories. It will have the following structure: | * Create a new table ''actor.stat_cat_entry_default'' to store default entries for statistical categories. It will have the following structure: |
* | |
id SERIAL PRIMARY KEY, | id SERIAL PRIMARY KEY, |
stat_cat_entry INT NOT NULL REFERENCES actor.stat_cat_entry(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, | stat_cat_entry INT NOT NULL REFERENCES actor.stat_cat_entry(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, |
CONSTRAINT sced_once_per_owner UNIQUE (stat_cat,owner) | CONSTRAINT sced_once_per_owner UNIQUE (stat_cat,owner) |
| |
See [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/sql/Pg/005.schema.actors.sql|005.schema.actors.sql]] and [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/sql/Pg/950.data.seed-values.sql|950.data.seed-values.sql]]. | See [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/sql/Pg/005.schema.actors.sql|005.schema.actors.sql]] and [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/sql/Pg/950.data.seed-values.sql|950.data.seed-values.sql]]. |
| |
**Statistical category editor** | **Statistical category editor** |
* Add code to manage the new fields in **actor.stat_cat** and the new table **actor.stat_cat_entry_default**. | * Add code to manage the new fields in **actor.stat_cat** and the new table **actor.stat_cat_entry_default**. |
See | See |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/examples/fm_IDL.xml|Open-ILS/examples/fm_IDL.xml]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/examples/fm_IDL.xml|Open-ILS/examples/fm_IDL.xml]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/extras/ils_events.xml|Open-ILS/src/extras/ils_events.xml]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/extras/ils_events.xml|Open-ILS/src/extras/ils_events.xml]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/StatCat.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/StatCat.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/StatCat.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/StatCat.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI/actor.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/dbi.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/dbi.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/dbi.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/dbi.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm|Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/actor.pm]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/web/opac/locale/en-US/lang.dtd|Open-ILS/web/opac/locale/en-US/lang.dtd]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/web/opac/locale/en-US/lang.dtd|Open-ILS/web/opac/locale/en-US/lang.dtd]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/xul/staff_client/server/admin/stat_cat_editor.xhtml|Open-ILS/xul/staff_client/server/admin/stat_cat_editor.xhtml]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/xul/staff_client/server/admin/stat_cat_editor.xhtml|Open-ILS/xul/staff_client/server/admin/stat_cat_editor.xhtml]] |
* [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/xul/staff_client/server/admin/stat_cat_editor.js|Open-ILS/xul/staff_client/server/admin/stat_cat_editor.js]] | * [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/xul/staff_client/server/admin/stat_cat_editor.js|Open-ILS/xul/staff_client/server/admin/stat_cat_editor.js]] |
| |
**Patron registration** | **Patron registration** |
* If a default entry is specified for the org unit and statistical category, mark it as selected by default. | * If a default entry is specified for the org unit and statistical category, mark it as selected by default. |
| |
See [[https://github.com/sprater/Evergreen/blob/patcatstat/Open-ILS/web/js/ui/default/actor/user/register.js|Open-ILS/web/js/ui/default/actor/user/register.js]] | See [[https://github.com/sprater/Evergreen/blob/patstatcat/Open-ILS/web/js/ui/default/actor/user/register.js|Open-ILS/web/js/ui/default/actor/user/register.js]] |
===== Tests ===== | ===== Tests ===== |
| |