implement proper identity view with debitorNumber:caption

This commit is contained in:
Michael Hoennig 2024-04-13 15:34:06 +02:00
parent 2db91e7816
commit 9d0dc358f0
2 changed files with 15 additions and 9 deletions

View File

@ -117,7 +117,11 @@ public class HsBookingItemEntity implements Stringifyable, RbacObject {
public static RbacView rbac() { public static RbacView rbac() {
return rbacViewFor("bookingItem", HsBookingItemEntity.class) return rbacViewFor("bookingItem", HsBookingItemEntity.class)
.withIdentityView(SQL.projection("caption")) // FIXME: use memberNumber:caption .withIdentityView(SQL.query("""
SELECT i.uuid as uuid, d.idName || ':' || i.caption as idName
FROM hs_booking_item i
JOIN hs_office_debitor_iv d ON d.uuid = i.debitorUuid
"""))
.withRestrictedViewOrderBy(SQL.expression("validity")) .withRestrictedViewOrderBy(SQL.expression("validity"))
.withUpdatableColumns("version", "validity", "resources") .withUpdatableColumns("version", "validity", "resources")

View File

@ -114,7 +114,7 @@ do language plpgsql $$
$$; $$;
/** /**
Adds hs_booking_item INSERT permission to specified roleNSERT permission to specified role of new hs_office_relation rows. Adds hs_booking_item INSERT permission to specified role of new hs_office_relation rows.
*/ */
create or replace function hs_booking_item_hs_office_relation_insert_tf() create or replace function hs_booking_item_hs_office_relation_insert_tf()
returns trigger returns trigger
@ -175,9 +175,11 @@ create trigger hs_booking_item_insert_permission_check_tg
--changeset hs-booking-item-rbac-IDENTITY-VIEW:1 endDelimiter:--// --changeset hs-booking-item-rbac-IDENTITY-VIEW:1 endDelimiter:--//
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
call generateRbacIdentityViewFromProjection('hs_booking_item', call generateRbacIdentityViewFromQuery('hs_booking_item',
$idName$ $idName$
caption SELECT i.uuid as uuid, d.idName || ':' || i.caption as idName
FROM hs_booking_item i
JOIN hs_office_debitor_iv d ON d.uuid = i.debitorUuid
$idName$); $idName$);
--// --//
@ -186,7 +188,7 @@ call generateRbacIdentityViewFromProjection('hs_booking_item',
-- ---------------------------------------------------------------------------- -- ----------------------------------------------------------------------------
call generateRbacRestrictedView('hs_booking_item', call generateRbacRestrictedView('hs_booking_item',
$orderBy$ $orderBy$
caption validity
$orderBy$, $orderBy$,
$updates$ $updates$
version = new.version, version = new.version,