]> git.evergreen-ils.org Git - Evergreen.git/commit
C port of the permacrud service. This touches a lot of code, so expect some
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 14 Dec 2008 21:19:44 +0000 (21:19 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 14 Dec 2008 21:19:44 +0000 (21:19 +0000)
commit20dcba1201bb4cdab6b66598c34fba3e38e74402
tree894fba3bbe88e7cc6c87364ccc5436cb196f6cfe
parent89c0041df83011271854dcd75926d58a56a3a043
C port of the permacrud service.  This touches a lot of code, so expect some
early breakage.

* The IDL permacrud permission and context org lists are now space-separated
  instead of pipe-separated.

* oils_utils.c now looks for an org unit with a null parent_ou instead of
  assuming that 1 is correct.

* oils_idl-core.c parses the <permacrud> parts of the IDL now, noting the
  state of the global_required attribute, any class-local context fields
  and any foreign class context fields.

* oils_cstore.c now has a new IDL context and personality, open-ils.pcrud,
  which (like cstore and reporter-store) ignore classes that do not have the
  appropriate setting in their controller attribute.

* Said new personality will only create methods for classes where both the
  controller attr contains open-ils.pcrud and there is a permacrud block,
  and only for those actions listed in the block.

* Much (ugly, currently) #ifdef'ing was used to segregate the permacrud code.
  This was done to avoid breaking cstore and reporter-store, if possible,
  while pcrud is worked out.

... fun times ...

git-svn-id: svn://svn.open-ils.org/ILS/trunk@11543 dcc99617-32d9-48b4-a31d-7c20da2025e4
Open-ILS/examples/extract-IDL-permissions.xsl
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/c-apps/Makefile.am
Open-ILS/src/c-apps/oils_cstore.c
Open-ILS/src/c-apps/oils_idl-core.c
Open-ILS/src/c-apps/oils_utils.c