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
746 B
PL/PgSQL
26 lines
746 B
PL/PgSQL
-- Deploy camper:translate_service to pg
|
|
-- requires: roles
|
|
-- requires: schema_camper
|
|
-- requires: service_i18n
|
|
|
|
begin;
|
|
|
|
set search_path to camper, public;
|
|
|
|
create or replace function translate_service(service_id integer, lang_tag text, name text, description text) returns void as
|
|
$$
|
|
insert into service_i18n (service_id, lang_tag, name, description)
|
|
values (service_id, lang_tag, name, xmlparse(content coalesce(description, '')))
|
|
on conflict (service_id, lang_tag) do update
|
|
set name = excluded.name
|
|
, description = excluded.description
|
|
;
|
|
$$
|
|
language sql
|
|
;
|
|
|
|
revoke execute on function translate_service(integer, text, text, text) from public;
|
|
grant execute on function translate_service(integer, text, text, text) to admin;
|
|
|
|
commit;
|