This page is more or less similar to home, in terms of database: it has a carousel and a list of items; in this case, the definition of campsite services. As i said early, when adding the home carousel, this carousel has its own relation and set of functions to manage slides. They are also duplicated in Go code, but i think i will need to refactor it later to a carousel package or something like that, because both relations have the exact same fields and types, so it makes no sense to have twice the same code. I already did it with the CSS and JavaScript code, mostly because it was easier to replace the `.surroundings div` selector with `.carousel`, and because that way i can have a single template that loads and initializes Slick. There is no UI to create or edit service definitions, although there are the SQL functions, because i have no more time now, and Oriol needs to check that the style is correct for that page.
26 lines
652 B
PL/PgSQL
26 lines
652 B
PL/PgSQL
-- Deploy camper:edit_service to pg
|
|
-- requires: roles
|
|
-- requires: schema_camper
|
|
-- requires: service
|
|
|
|
begin;
|
|
|
|
set search_path to camper, public;
|
|
|
|
create or replace function edit_service(service_id integer, icon_name text, name text, description text) returns void as
|
|
$$
|
|
update service
|
|
set icon_name = edit_service.icon_name
|
|
, name = edit_service.name
|
|
, description = xmlparse(content edit_service.description)
|
|
where service_id = edit_service.service_id
|
|
;
|
|
$$
|
|
language sql
|
|
;
|
|
|
|
revoke execute on function edit_service(integer, text, text, text) from public;
|
|
grant execute on function edit_service(integer, text, text, text) to admin;
|
|
|
|
commit;
|