From f7c836f955fe44dd8442afaa93e514a83745df7a Mon Sep 17 00:00:00 2001 From: "eduardo.velasques" Date: Tue, 19 Apr 2022 22:53:33 +0100 Subject: [PATCH] =?UTF-8?q?Cluar=20primeira=20vers=C3=A3o.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editor.config | 6 + .gitignore | 24 + .netuno.json | 137 +++++ README-pt_PT.md | 84 +++ config/_development.js | 3 + config/_production.js | 3 + config/icon.png | Bin 0 -> 69831 bytes config/sample.json | 53 ++ docs/README-pt_PT.md | 113 ++++ docs/README.md | 2 + docs/action/README-pt_PT.md | 3 + docs/banner/README-pt_PT.md | 40 ++ docs/configuration/README-pt_PT.md | 3 + docs/content/README-pt_PT.md | 32 ++ docs/dictionary/README-pt_PT.md | 3 + docs/functionality/README-pt_PT.md | 3 + docs/language/README-pt_PT.md | 31 + docs/listing/README-pt_PT.md | 51 ++ docs/logo.afdesign | Bin 0 -> 53371 bytes docs/logo.png | Bin 0 -> 47170 bytes docs/logo.svg | 128 +++++ docs/page/README-pt_PT.md | 61 ++ public/images/icon.png | Bin 0 -> 44689 bytes public/images/logo-main.png | Bin 0 -> 23245 bytes public/images/logo.png | Bin 0 -> 23245 bytes public/styles/login.css | 38 ++ public/styles/main.css | 124 ++++ server/actions/action/saved.js | 4 + server/actions/banner/saved.js | 5 + server/actions/banner_action/saved.js | 4 + server/actions/configuration/saved.js | 3 + server/actions/content/saved.js | 4 + server/actions/content_action/saved.js | 4 + server/actions/dictionary/saved.js | 3 + server/actions/functionality/saved.js | 5 + server/actions/language/saved.js | 3 + server/actions/listing/saved.js | 4 + server/actions/listing_item/saved.js | 4 + server/actions/page/saved.js | 4 + server/core/Cluar.js | 528 ++++++++++++++++++ server/core/CluarCustomData.js | 4 + server/core/_config.js | 22 + server/core/_init.js | 5 + server/core/_request_close.js | 0 server/core/_request_end.js | 0 server/core/_request_error.js | 17 + server/core/_request_start.js | 2 + server/core/_request_url.js | 14 + server/core/_service_config.js | 13 + server/core/_service_end.js | 0 server/core/_service_error.js | 5 + server/core/_service_start.js | 0 server/package.json | 7 + server/services/admin/contact/list/post.js | 92 +++ server/services/contact/post.js | 19 + server/services/encomenda/post.js | 17 + .../services/encomenda/produto/lista/get.js | 6 + server/setup/001-language.js | 26 + server/setup/002-page_status.js | 22 + server/setup/003-content_type.js | 46 ++ server/setup/004-banner_type.js | 30 + server/setup/005-functionality_type.js | 22 + server/setup/006-page.js | 44 ++ server/setup/007-configuration_parameter.js | 48 ++ server/setup/008-configuration.js | 62 ++ server/setup/009-dictionary_entry.js | 80 +++ server/setup/010-dictionary.js | 170 ++++++ server/setup/011-banner.js | 39 ++ server/setup/012-content.js | 68 +++ server/setup/_end.js | 6 + server/setup/_schema-form-01-action.js | 184 ++++++ server/setup/_schema-form-02-banner.js | 339 +++++++++++ server/setup/_schema-form-03-banner_action.js | 123 ++++ server/setup/_schema-form-04-banner_type.js | 92 +++ server/setup/_schema-form-05-configuration.js | 122 ++++ ..._schema-form-06-configuration_parameter.js | 92 +++ server/setup/_schema-form-07-contact.js | 215 +++++++ server/setup/_schema-form-08-content.js | 308 ++++++++++ .../setup/_schema-form-09-content_action.js | 123 ++++ server/setup/_schema-form-10-content_type.js | 92 +++ server/setup/_schema-form-11-dictionary.js | 122 ++++ .../setup/_schema-form-12-dictionary_entry.js | 92 +++ server/setup/_schema-form-13-encomenda.js | 122 ++++ .../_schema-form-14-encomenda_produto.js | 92 +++ server/setup/_schema-form-15-functionality.js | 215 +++++++ .../_schema-form-16-functionality_type.js | 92 +++ server/setup/_schema-form-17-language.js | 153 +++++ server/setup/_schema-form-18-listing.js | 277 +++++++++ server/setup/_schema-form-19-listing_item.js | 278 +++++++++ server/setup/_schema-form-20-listing_type.js | 92 +++ server/setup/_schema-form-21-page.js | 401 +++++++++++++ server/setup/_schema-form-22-page_status.js | 92 +++ server/setup/_schema-form-23-teste.js | 60 ++ server/setup/_start.js | 0 server/templates/dashboard.html | 2 + server/templates/dev/dashboard.html | 31 + server/templates/scripts.html | 1 + server/templates/scripts_dev.html | 0 server/templates/scripts_login.html | 0 server/templates/styles.html | 1 + server/templates/styles_dev.html | 1 + server/templates/styles_login.html | 0 storage/filesystem/private/info.txt | 4 + storage/filesystem/public/info.txt | 2 + .../server/default-banner-background.jpg | Bin 0 -> 217798 bytes storage/filesystem/server/info.txt | 4 + ui/.babelrc | 9 + ui/.gitignore | 18 + ui/README.md | 24 + ui/package.json | 38 ++ ui/src/components/MyButton/index.js | 20 + ui/src/containers/ContactTable/index.js | 215 +++++++ ui/src/containers/ContactTable/index.less | 0 ui/src/containers/DashboardContainer/index.js | 27 + .../containers/DashboardContainer/index.less | 8 + ui/src/index.js | 45 ++ ui/src/styles/main.less | 4 + ui/webpack.config.js | 84 +++ website/.editor.config | 6 + website/.gitignore | 43 ++ website/README.md | 68 +++ website/build.sh | 19 + website/craco.config.js | 22 + website/package.json | 53 ++ website/public/images/favicon-1024.png | Bin 0 -> 26470 bytes website/public/images/favicon-192.png | Bin 0 -> 5476 bytes website/public/images/favicon-512.png | Bin 0 -> 12589 bytes website/public/images/favicon.ico | Bin 0 -> 15086 bytes website/public/images/logo.png | Bin 0 -> 23245 bytes website/public/index.html | 118 ++++ website/public/manifest.json | 30 + website/public/robots.txt | 3 + website/src/App.js | 71 +++ website/src/App.test.js | 9 + website/src/base/Cookies/index.js | 36 ++ website/src/base/Cookies/index.less | 32 ++ website/src/base/Footer/index.js | 84 +++ website/src/base/Footer/index.less | 140 +++++ website/src/base/Header/index.js | 173 ++++++ website/src/base/Header/index.less | 197 +++++++ website/src/common/Analytics.js | 31 + website/src/common/Builder.js | 49 ++ website/src/common/Cluar.js | 122 ++++ website/src/common/CluarCustomData.js | 6 + website/src/common/serviceWorker.js | 141 +++++ website/src/components/Actions/Item/index.js | 17 + .../src/components/Actions/Item/index.less | 39 ++ website/src/components/Actions/index.js | 22 + website/src/components/Actions/index.less | 10 + website/src/components/Banner/index.js | 40 ++ website/src/components/Banner/index.less | 170 ++++++ website/src/components/Configuration/index.js | 18 + website/src/components/Content/index.js | 122 ++++ website/src/components/Content/index.less | 127 +++++ website/src/components/Dictionary/index.js | 20 + website/src/components/Listing/Item/index.js | 59 ++ .../src/components/Listing/Item/index.less | 0 .../components/Listing/ItemGenerico/index.js | 8 + website/src/components/Listing/index.js | 73 +++ website/src/components/Listing/index.less | 58 ++ .../functionality/ContactForm/index.js | 100 ++++ .../functionality/ContactForm/index.less | 25 + .../functionality/ContactMap/index.js | 116 ++++ .../functionality/ContactMap/index.less | 57 ++ .../functionality/Encomenda/index.js | 119 ++++ .../functionality/Encomenda/index.less | 5 + website/src/index.js | 26 + .../src/pages/Customizada/Produto/index.js | 28 + website/src/pages/Customizada/index.js | 28 + website/src/pages/Customizada/index.less | 4 + website/src/pages/NotFound/index.js | 19 + website/src/pages/NotFound/index.less | 3 + website/src/setupTests.js | 5 + website/src/styles/App.less | 39 ++ website/src/styles/index.less | 23 + website/src/styles/variables.less | 53 ++ 176 files changed, 9605 insertions(+) create mode 100644 .editor.config create mode 100644 .gitignore create mode 100644 .netuno.json create mode 100644 README-pt_PT.md create mode 100644 config/_development.js create mode 100644 config/_production.js create mode 100644 config/icon.png create mode 100644 config/sample.json create mode 100644 docs/README-pt_PT.md create mode 100644 docs/README.md create mode 100644 docs/action/README-pt_PT.md create mode 100644 docs/banner/README-pt_PT.md create mode 100644 docs/configuration/README-pt_PT.md create mode 100644 docs/content/README-pt_PT.md create mode 100644 docs/dictionary/README-pt_PT.md create mode 100644 docs/functionality/README-pt_PT.md create mode 100644 docs/language/README-pt_PT.md create mode 100644 docs/listing/README-pt_PT.md create mode 100644 docs/logo.afdesign create mode 100644 docs/logo.png create mode 100644 docs/logo.svg create mode 100644 docs/page/README-pt_PT.md create mode 100644 public/images/icon.png create mode 100644 public/images/logo-main.png create mode 100644 public/images/logo.png create mode 100644 public/styles/login.css create mode 100644 public/styles/main.css create mode 100644 server/actions/action/saved.js create mode 100644 server/actions/banner/saved.js create mode 100644 server/actions/banner_action/saved.js create mode 100644 server/actions/configuration/saved.js create mode 100644 server/actions/content/saved.js create mode 100644 server/actions/content_action/saved.js create mode 100644 server/actions/dictionary/saved.js create mode 100644 server/actions/functionality/saved.js create mode 100644 server/actions/language/saved.js create mode 100644 server/actions/listing/saved.js create mode 100644 server/actions/listing_item/saved.js create mode 100644 server/actions/page/saved.js create mode 100644 server/core/Cluar.js create mode 100644 server/core/CluarCustomData.js create mode 100644 server/core/_config.js create mode 100644 server/core/_init.js create mode 100644 server/core/_request_close.js create mode 100644 server/core/_request_end.js create mode 100644 server/core/_request_error.js create mode 100644 server/core/_request_start.js create mode 100644 server/core/_request_url.js create mode 100644 server/core/_service_config.js create mode 100644 server/core/_service_end.js create mode 100644 server/core/_service_error.js create mode 100644 server/core/_service_start.js create mode 100644 server/package.json create mode 100644 server/services/admin/contact/list/post.js create mode 100644 server/services/contact/post.js create mode 100644 server/services/encomenda/post.js create mode 100644 server/services/encomenda/produto/lista/get.js create mode 100644 server/setup/001-language.js create mode 100644 server/setup/002-page_status.js create mode 100644 server/setup/003-content_type.js create mode 100644 server/setup/004-banner_type.js create mode 100644 server/setup/005-functionality_type.js create mode 100644 server/setup/006-page.js create mode 100644 server/setup/007-configuration_parameter.js create mode 100644 server/setup/008-configuration.js create mode 100644 server/setup/009-dictionary_entry.js create mode 100644 server/setup/010-dictionary.js create mode 100644 server/setup/011-banner.js create mode 100644 server/setup/012-content.js create mode 100644 server/setup/_end.js create mode 100644 server/setup/_schema-form-01-action.js create mode 100644 server/setup/_schema-form-02-banner.js create mode 100644 server/setup/_schema-form-03-banner_action.js create mode 100644 server/setup/_schema-form-04-banner_type.js create mode 100644 server/setup/_schema-form-05-configuration.js create mode 100644 server/setup/_schema-form-06-configuration_parameter.js create mode 100644 server/setup/_schema-form-07-contact.js create mode 100644 server/setup/_schema-form-08-content.js create mode 100644 server/setup/_schema-form-09-content_action.js create mode 100644 server/setup/_schema-form-10-content_type.js create mode 100644 server/setup/_schema-form-11-dictionary.js create mode 100644 server/setup/_schema-form-12-dictionary_entry.js create mode 100644 server/setup/_schema-form-13-encomenda.js create mode 100644 server/setup/_schema-form-14-encomenda_produto.js create mode 100644 server/setup/_schema-form-15-functionality.js create mode 100644 server/setup/_schema-form-16-functionality_type.js create mode 100644 server/setup/_schema-form-17-language.js create mode 100644 server/setup/_schema-form-18-listing.js create mode 100644 server/setup/_schema-form-19-listing_item.js create mode 100644 server/setup/_schema-form-20-listing_type.js create mode 100644 server/setup/_schema-form-21-page.js create mode 100644 server/setup/_schema-form-22-page_status.js create mode 100644 server/setup/_schema-form-23-teste.js create mode 100644 server/setup/_start.js create mode 100644 server/templates/dashboard.html create mode 100644 server/templates/dev/dashboard.html create mode 100644 server/templates/scripts.html create mode 100644 server/templates/scripts_dev.html create mode 100644 server/templates/scripts_login.html create mode 100644 server/templates/styles.html create mode 100644 server/templates/styles_dev.html create mode 100644 server/templates/styles_login.html create mode 100644 storage/filesystem/private/info.txt create mode 100644 storage/filesystem/public/info.txt create mode 100644 storage/filesystem/server/default-banner-background.jpg create mode 100644 storage/filesystem/server/info.txt create mode 100644 ui/.babelrc create mode 100644 ui/.gitignore create mode 100644 ui/README.md create mode 100644 ui/package.json create mode 100644 ui/src/components/MyButton/index.js create mode 100644 ui/src/containers/ContactTable/index.js create mode 100644 ui/src/containers/ContactTable/index.less create mode 100644 ui/src/containers/DashboardContainer/index.js create mode 100644 ui/src/containers/DashboardContainer/index.less create mode 100644 ui/src/index.js create mode 100644 ui/src/styles/main.less create mode 100644 ui/webpack.config.js create mode 100644 website/.editor.config create mode 100644 website/.gitignore create mode 100644 website/README.md create mode 100755 website/build.sh create mode 100644 website/craco.config.js create mode 100644 website/package.json create mode 100644 website/public/images/favicon-1024.png create mode 100644 website/public/images/favicon-192.png create mode 100644 website/public/images/favicon-512.png create mode 100644 website/public/images/favicon.ico create mode 100644 website/public/images/logo.png create mode 100644 website/public/index.html create mode 100644 website/public/manifest.json create mode 100644 website/public/robots.txt create mode 100644 website/src/App.js create mode 100644 website/src/App.test.js create mode 100644 website/src/base/Cookies/index.js create mode 100644 website/src/base/Cookies/index.less create mode 100644 website/src/base/Footer/index.js create mode 100644 website/src/base/Footer/index.less create mode 100644 website/src/base/Header/index.js create mode 100644 website/src/base/Header/index.less create mode 100644 website/src/common/Analytics.js create mode 100644 website/src/common/Builder.js create mode 100644 website/src/common/Cluar.js create mode 100644 website/src/common/CluarCustomData.js create mode 100644 website/src/common/serviceWorker.js create mode 100644 website/src/components/Actions/Item/index.js create mode 100644 website/src/components/Actions/Item/index.less create mode 100644 website/src/components/Actions/index.js create mode 100644 website/src/components/Actions/index.less create mode 100644 website/src/components/Banner/index.js create mode 100644 website/src/components/Banner/index.less create mode 100644 website/src/components/Configuration/index.js create mode 100644 website/src/components/Content/index.js create mode 100644 website/src/components/Content/index.less create mode 100644 website/src/components/Dictionary/index.js create mode 100644 website/src/components/Listing/Item/index.js create mode 100644 website/src/components/Listing/Item/index.less create mode 100644 website/src/components/Listing/ItemGenerico/index.js create mode 100644 website/src/components/Listing/index.js create mode 100644 website/src/components/Listing/index.less create mode 100644 website/src/components/functionality/ContactForm/index.js create mode 100644 website/src/components/functionality/ContactForm/index.less create mode 100644 website/src/components/functionality/ContactMap/index.js create mode 100644 website/src/components/functionality/ContactMap/index.less create mode 100644 website/src/components/functionality/Encomenda/index.js create mode 100644 website/src/components/functionality/Encomenda/index.less create mode 100644 website/src/index.js create mode 100644 website/src/pages/Customizada/Produto/index.js create mode 100644 website/src/pages/Customizada/index.js create mode 100644 website/src/pages/Customizada/index.less create mode 100644 website/src/pages/NotFound/index.js create mode 100644 website/src/pages/NotFound/index.less create mode 100644 website/src/setupTests.js create mode 100644 website/src/styles/App.less create mode 100644 website/src/styles/index.less create mode 100644 website/src/styles/variables.less diff --git a/.editor.config b/.editor.config new file mode 100644 index 0000000..03f7253 --- /dev/null +++ b/.editor.config @@ -0,0 +1,6 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..47b201a --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ + +node_modules/ +.DS_Store +*.log +.idea/ +.metadata/ +.vscode +package-lock.json + +/trash/* + +.Trash + +*~* +*#* + +config/_development.json +config/_production.json + +dbs/ + +public/scripts/main.* + +storage/database/ diff --git a/.netuno.json b/.netuno.json new file mode 100644 index 0000000..fe9f83d --- /dev/null +++ b/.netuno.json @@ -0,0 +1,137 @@ +{ + "name": "cluar", + "description": "A ready to use solution for content management and multilingual websites using Netuno, ReactJS and Ant Design.", + "type": "app", + "config": { + "development": { + "cron": {"jobs": []}, + "settings": { + "public": {}, + "cluar": { + "website": { + "url": "http://localhost:3000", + "name": "Website Name", + "analytics": null, + "mapbox": { + "dark": false, + "accessToken": null + }, + "services": { + "api": "http://localhost:9000/services/" + } + }, + "uglifyjs": false + } + }, + "cors": [{ + "origins": [ "*" ], + "enabled": true + }], + "smtp": {}, + "name": "cluar", + "setup": { + "schema": { + "execution": true, + "auto_create": true + }, + "scripts": {"execution": true}, + "enabled": true + }, + "language": "en_GB", + "firebase": { + "app_name": "", + "database_url": "", + "key_file": "", + "listener_secret": "" + }, + "locale": "en_GB", + "remote": {}, + "commands": [ + { + "path": "ui", + "command": "npm run watch", + "enabled": true + }, + { + "path": "website", + "command": "npm start", + "install": "npm install --force", + "enabled": true + } + ], + "db": {"default": { + "password": "", + "engine": "h2", + "port": "", + "host": "", + "name": "cluar", + "username": "" + }} + }, + "production": { + "cron": {"jobs": []}, + "settings": { + "public": {}, + "cluar": { + "website": { + "url": "http://localhost:3000", + "name": "Website Name", + "analytics": null, + "mapbox": { + "dark": false, + "accessToken": null + }, + "services": { + "api": "http://localhost:9000/services/" + } + }, + "uglifyjs": false + } + }, + "cors": [{ + "origins": [ "*" ], + "enabled": true + }], + "smtp": {}, + "name": "cluar", + "setup": { + "schema": { + "execution": true, + "auto_create": true + }, + "scripts": {"execution": true}, + "enabled": true + }, + "language": "en_GB", + "firebase": { + "app_name": "", + "database_url": "", + "key_file": "", + "listener_secret": "" + }, + "locale": "en_GB", + "remote": {}, + "commands": [ + { + "path": "ui", + "command": "npm run watch", + "enabled": false + }, + { + "path": "website", + "command": "npm start", + "install": "npm install --force", + "enabled": false + } + ], + "db": {"default": { + "password": "", + "engine": "h2", + "port": "", + "host": "", + "name": "cluar", + "username": "" + }} + } + } +} \ No newline at end of file diff --git a/README-pt_PT.md b/README-pt_PT.md new file mode 100644 index 0000000..ad30a86 --- /dev/null +++ b/README-pt_PT.md @@ -0,0 +1,84 @@ +![Logo](https://raw.githubusercontent.com/netuno-org/cluar/main/docs/logo.svg) + +# Netuno CLUAR + +Uma solução pronta para gestão de conteúdos e websites multilíngue utilizando [Netuno](https://www.netuno.org/), [ReactJS](https://reactjs.org/) e [Ant Design](https://ant.design/). + +## Requisito + +### Plataforma Netuno + +[Siga os passos aqui](https://doc.netuno.org/docs/en/installation/) + +## Instalação Automática da Aplicação + +``` +./netuno app github=netuno-org/cluar +``` + +### Execução + +Inicie o servidor Netuno: + +``` +./netuno server app=cluar +``` + +> Pode demorar porque é a primeira vez e a instalação do NPM será executada nas pastas `ui` e` website` dentro da pasta raiz do aplicativo. + +:warning: Se tiver o error: + +``` + npm ERR! code ERESOLVE + npm ERR! ERESOLVE unable to resolve dependency tree +``` + +Então execute o comando abaixo dentro da pasta `website`: + +`npm install --force` + +:white_check_mark: Não é obrigatório, mas é recomendado renomar a pasta da aplicação `(Netuno Root directory)/apps/cluar/` para o nome desejado, e não esqueça do parâmetro `name` nas configurações: + +`config/_development.json` + +`config/_production.json` + +> Lembre-se de iniciar o servidor Netuno com seu novo nome de aplicativo. + +## Processo Manual + +### Clone e Instalação + +Crie uma nova app com o Netuno denominada `cluar` executando (no diretório raíz do Netuno) + +`./netuno app name=cluar` + +e selecionando as configurações desejadas (tipo de base de dados, nome da base de dados e idioma da aplicação). + +Depois clone este projeto para o diretório `(Netuno Root directory)/apps/cluar/`. + +Depois instale as dependências NPM excutando + +`npm install --force` + +no diretório `cluar/website/`. + +### Configuração + +Copie o ficheiro de exemplo de configuração executando o seguinte + +`cp config/sample.json config/_development.json` (certifique-se do parâmetro `name`) + +e modifique de acordo com a configuração do seu ambiente local. + +### Execução + +No diretório raíz do Netuno execute + +`./netuno server app=cluar` + +que irá iniciar o servidor de backend e depois execute no diretório `(cluar app directory)/website/` o seguinte + +`npm run start` + +para iniciar o servidor de frontend. diff --git a/config/_development.js b/config/_development.js new file mode 100644 index 0000000..9b3a150 --- /dev/null +++ b/config/_development.js @@ -0,0 +1,3 @@ +/* + * Development dynamic configurations is here. + */ diff --git a/config/_production.js b/config/_production.js new file mode 100644 index 0000000..3f91075 --- /dev/null +++ b/config/_production.js @@ -0,0 +1,3 @@ +/* + * Production dynamic configurations is here. + */ diff --git a/config/icon.png b/config/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..193a76be68e723b132ed4eaf1e161868accef539 GIT binary patch literal 69831 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 literal 0 HcmV?d00001 diff --git a/config/sample.json b/config/sample.json new file mode 100644 index 0000000..fdb183e --- /dev/null +++ b/config/sample.json @@ -0,0 +1,53 @@ +{ + "cron": {"jobs": []}, + "settings": { + "public": {}, + "website": { + "origin": "http://localhost:3000" + }, + "uglifyjs": false + }, + "cors": [{ + "origin": "*", + "enabled": true + }], + "smtp": {}, + "name": "cluar", + "setup": { + "schema": { + "execution": true, + "auto_create": true + }, + "scripts": {"execution": true}, + "enabled": true + }, + "language": "en_GB", + "firebase": { + "app_name": "", + "database_url": "", + "key_file": "", + "listener_secret": "" + }, + "locale": "en_GB", + "remote": {}, + "commands": [ + { + "path": "ui", + "command": "npm run watch", + "enabled": true + }, + { + "path": "website", + "command": "npm start", + "enabled": true + } + ], + "db": {"default": { + "password": "", + "engine": "h2", + "port": "", + "host": "", + "name": "cluar", + "username": "" + }} +} \ No newline at end of file diff --git a/docs/README-pt_PT.md b/docs/README-pt_PT.md new file mode 100644 index 0000000..fa66d5d --- /dev/null +++ b/docs/README-pt_PT.md @@ -0,0 +1,113 @@ + +# Documentação + +O CLUAR CMS facilita a criação de websites utilizando ReactJS mas com a manutenção dos conteúdos, navegação, páginas, idiomas, configurações e muito mais, através de um backoffice fornecido pela plataforma Netuno. + +Para quem está começando a aprender sobre ReactJS & CSS vai conseguir criar um website moderno e customizado de uma maneira muito prática e intuitiva. + +Para quem já domina ReactJS & CSS vai conseguir reduzir muito o tempo de implementação de websites dinâmico com a gestão dos conteúdos, assim poderá focar mais no design e em customizações avançadas. + +## Visão Geral + +Estes são os principais mecanismos que o CLUAR CMS oferece por padrão: + +1. [Página](page/README-pt_PT.md) +2. [Idioma](language/README-pt_PT.md) +3. [Conteúdo](content/README-pt_PT.md) +4. [Estandarte](banner/README-pt_PT.md) +5. [Listagem](listing/README-pt_PT.md) +6. [Ação](action/README-pt_PT.md) +7. [Dicionário](dictionary/README-pt_PT.md) +8. [Configuração](configuration/README-pt_PT.md) +9. [Funcionalidade](functionality/README-pt_PT.md) + +#### Estrutura do Código do Website + +O código está organizado da seguinte forma: + +- `website/src/base` + Contém os componentes de cabeçalho (`header` e `menu`) e o rodapé (`footer`), e ainda o alerta de privacidade de cookies. + +- `website/src/common` + Código essencial e utíl de modo geral, e ainda o motor de processamento das páginas (`Builder`) + +- `website/src/components` + Componentes para ser utilizados para construir os conteúdos das páginas. + +- `website/src/components/functionality` + Contém os componentes feitos à medida para ser integrados nos conteúdos das páginas. + +- `website/src/config` + Parametrização da configuração essencial utilizada em código. + +- `website/src/styles` + Aqui contém o CSS principal e global, com a gestão das variáveis (`variables`) de configurações de layout e design. + +- `website/src/pages` + Páginas desenvolvidas à medida sem serem processadas pelo motor do CLUAR CMS. + +- `website/src/App.js` + Definição das rotas de navegação (`react-router-dom`) e tem a estrutura global do website. + +- `website/src/index.js` + É onde tudo começa, também é onde é carregado o conteúdo base do CLUAR CMS e onde define o endereço da API REST de serviços. + +- `website/craco.config.js` + Customização das variáveis de layout e design do Ant.Design. + +#### Estrutura do Código da Aplicação Netuno + +Sobre a estrutura da aplicação do Netuno: + +- `config` + Configuração da aplicação Netuno como base de dados, comandos executados na inicialização, CORS, SMTP, e muito mais. + +- `dbs` + Onde fica os ficheiros de base de dados (`H2Database`) e onde pode ser guardado scripts para outros tipos de bases de dados. + +- `public` + Ficheiros públicos da aplicação Netuno. + +- `server` + Código de servidor da aplicação Netuno. + +- `server/sevices` + Código a programação dos serviços da API REST. + +- `storage` + Ficheiros gerais geridos pelo servidor da aplicação Netuno. + +- `ui` + Programação do dashboard que fica no backoffice da aplicação Netuno. + +## Customização de Layout & Design + +Para customizar a aparência é utilizado o LESS, então basta editar todos os arquivos `.less` que estão dentro da pasta `website/src` e nos repectivos subdiretórios. + +O código LESS central e global fica em `website/src/styles`, dentra desta pasta ficheiro `variables.less` tem as principais parameetrizações de estilos globais. + +### Estilização do Ant.Design + +A estilização do Ant.Design é feita no ficheiro `website/craco.config.js`, dentro das configurações do `less` é configurar as variáveis do Ant.Design em `modifyVars`, verifique as variáveis do Ant.Design que podem ser redefinidas: + +- [themes/default.less](https://github.com/ant-design/ant-design/blob/master/components/style/themes/default.less) + +## Componentes ReactJS + +Os componentes principais + +## Cabeçalho (Header) e Menu + + + +## Rodapé (Footer) + + + +## Motor + + + +## Rotas com React Rouer + + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..e67ae34 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,2 @@ + +## Coming soon... diff --git a/docs/action/README-pt_PT.md b/docs/action/README-pt_PT.md new file mode 100644 index 0000000..2d465b6 --- /dev/null +++ b/docs/action/README-pt_PT.md @@ -0,0 +1,3 @@ + +## + diff --git a/docs/banner/README-pt_PT.md b/docs/banner/README-pt_PT.md new file mode 100644 index 0000000..16ba65b --- /dev/null +++ b/docs/banner/README-pt_PT.md @@ -0,0 +1,40 @@ + +# Estandarte (`banner`) + +[:arrow_backward: Principal](../README-pt_PT.md) + +No menu do backoffice em `Estandarte` é gerido os grandes destaques das páginas do website, também conhecido como __Banners__, são aquelas boas imagens que ocupam toda a área da janela com um título por cima bem destacado e as vezes com algum texto introdutório, há outros mais curtos e de muitas outras formas. + +O estandarte pode conter Título, Descrição, Imagem e Ordem (ordenação). + +## ReactJS & CSS/LESS + +O componente ReactJS que gere todos os Estandartes (`banner`) no website fica em: + +- `website/src/components/Banner` + +O componente recebe diversas propriedades como título (`title`), conteúdo (`content`), imagem (`image`), entre outras. + +> Antes de realizar a customização analise as propriedades e o código CSS/LESS associado ao componente. + +### Tipo (`type`) + +Os estandartes (`banner`) devem conter um tipo associado. + +O tipo pode ser customizado no formulário `Estandarte > Tipo`, onde o campo código é o valor que é utilizado pelo componente ReactJS na propriedade `type`. + +Então a propriedade `type` recebida no componente ReactJS `website/src/components/Banner` define o tipo de estandarte que será procesado. + +A propriedade `type` pode ser utilizada em condições para customizar a estrutura HTML que será processada na renderização do componente. + +O `type` também deve adicionado nas propriedades `className` de tags HTML geradas pelo componente, para manter o padrão e organização de nomes, e ainda facilita custumizar a sua aparência no código CSS/LESS. + +### Posição (`position_x` & `position_y`) + +A posição X e Y servem para ajustar o foco da imagem de background nas diversas resoluções, o valor habitual é em porcentagem. + +> Permite controlar uma parte da imagem que seja necessário estar sempre visível. + +Por exemplo se ambos os campostos conter o valor `50%`, então quer dizer que o foco será no centro da imagem, ou seja em qualquer resolução a parte da imagem que estará sempre visível será o seu centro. + +[:arrow_backward: Principal](../README-pt_PT.md) diff --git a/docs/configuration/README-pt_PT.md b/docs/configuration/README-pt_PT.md new file mode 100644 index 0000000..2d465b6 --- /dev/null +++ b/docs/configuration/README-pt_PT.md @@ -0,0 +1,3 @@ + +## + diff --git a/docs/content/README-pt_PT.md b/docs/content/README-pt_PT.md new file mode 100644 index 0000000..323d5ac --- /dev/null +++ b/docs/content/README-pt_PT.md @@ -0,0 +1,32 @@ + +# Conteúdo (`content`) + +[:arrow_backward: Principal](../README-pt_PT.md) + +No menu do backoffice em `Conteúdo` é gerido os conteúdos das páginas do website. + +O conteúdo pode conter Título, Descrição, Imagem e Ordem (ordenação). + +## ReactJS & CSS/LESS + +O componente ReactJS que gere todos os Conteúdos no website fica em: + +- `website/src/components/Content` + +O componente recebe diversas propriedades como título (`title`), conteúdo (`content`), imagem (`image`), entre outras. + +> Antes de realizar a customização analise as propriedades e o código CSS/LESS associado ao componente. + +### Tipo (`type`) + +Os conteúdos devem conter um tipo associado. + +O tipo pode ser customizado no formulário `Conteúdo > Tipo`, onde o campo código é o valor que é utilizado pelo componente ReactJS na propriedade `type`. + +Então a propriedade `type` recebida no componente ReactJS `website/src/components/Content` define o tipo de conteúdo que será procesado. + +A propriedade `type` pode ser utilizada em condições para customizar a estrutura HTML que será processada na renderização do componente. + +O `type` também deve adicionado nas propriedades `className` de tags HTML geradas pelo componente, para manter o padrão e organização de nomes, e ainda facilita custumizar a sua aparência no código CSS/LESS. + +[:arrow_backward: Principal](../README-pt_PT.md) diff --git a/docs/dictionary/README-pt_PT.md b/docs/dictionary/README-pt_PT.md new file mode 100644 index 0000000..2d465b6 --- /dev/null +++ b/docs/dictionary/README-pt_PT.md @@ -0,0 +1,3 @@ + +## + diff --git a/docs/functionality/README-pt_PT.md b/docs/functionality/README-pt_PT.md new file mode 100644 index 0000000..2d465b6 --- /dev/null +++ b/docs/functionality/README-pt_PT.md @@ -0,0 +1,3 @@ + +## + diff --git a/docs/language/README-pt_PT.md b/docs/language/README-pt_PT.md new file mode 100644 index 0000000..1216558 --- /dev/null +++ b/docs/language/README-pt_PT.md @@ -0,0 +1,31 @@ + +# Idioma (`language`) + +[:arrow_backward: Principal](../README-pt_PT.md) + +Na interface de backoffice os idiomas são geridos no formulário `Idioma`. + +> O campo Localização (`locale`) é o valor que distingue o idioma no link das páginas, também é utilizado em código, como para realizar a troca de idioma. Os campos de Descrição (`description`) e de Código internacional (`code`), servem para indicar mais detalhes informativos. O idioma assinalado como Padrão (`default`) será o idioma preferencial do website. + +O menu de seleção do idioma é processado no Header do website em: + +- `website/src/base/Header` + +> No componente ReactJS (`index.js`) procure por `menuLanguages` e no CSS/LESS (`index.less`) é customizado pela class `menu-languages`. + +O componente utilizado para construir a seleção do idiomas é o [Menu do Ant.Design](https://ant.design/components/menu/). + +## Programaticamente + +Na classe JavaScript de funções úteis do CLUAR CMS: + +- `website/src/common/Cluar.js` + +É posssível trabalhar com o idioma, como por exemplo: + +- `Cluar.defaultLanguage()` - Obter o idioma padrão. +- `Cluar.currentLanguage()` - Obter o idioma ativo no momento atual. +- `Cluar.changeLanguage(codigoOuLocalizacao)` - Realizar a ativação de outro idioma programaticamente. +- `Cluar.languages()` - Obtém a lista de todos os idiomas. + +[:arrow_backward: Principal](../README-pt_PT.md) diff --git a/docs/listing/README-pt_PT.md b/docs/listing/README-pt_PT.md new file mode 100644 index 0000000..eb37d74 --- /dev/null +++ b/docs/listing/README-pt_PT.md @@ -0,0 +1,51 @@ + +# Listagem (`listing`) + +[:arrow_backward: Principal](../README-pt_PT.md) + +No menu do backoffice em `Listagem` é gerida as listas de itens, quando precisamos listar uma série de dados, como produtos, serviços, referências, notícias, e muito mais. + +Por isso que dentro do menu do backoffice `Listagem` tem o `Item`, que é onde associamos os itens às respectivas listagens. + +A listagem pode conter Título, Conteúdo, Imagem e Ordem (ordenação). + +Cada listagem deve conter itens relacionionados em `Listagem > Item` + +## ReactJS & CSS/LESS + +O componente ReactJS que gere todas as Listagens (`listing`) no website fica em: + +- `website/src/components/Listing` + +O componente recebe diversas propriedades como título (`title`), conteúdo (`content`), imagem (`image`), entre outras, além do array que contém os subitens relacionados (`items`). + +> Antes de realizar a customização analise as propriedades e o código CSS/LESS associado ao componente. + +### Tipo (`type`) + +A listagem (`listing`) devem conter um tipo associado. + +O tipo pode ser customizado no formulário `Listagem > Tipo`, onde o campo código é o valor que é utilizado pelo componente ReactJS na propriedade `type`. + +Então a propriedade `type` recebida no componente ReactJS `website/src/components/Listing` define o tipo de listagem que será procesada. + +> O `type` também é passado para os `items`, assim nos itens da listagem também é possível realizar a customizações de acordo com o tipo da listagem. + +A propriedade `type` pode ser utilizada em condições para customizar a estrutura HTML que será processada na renderização do componente. + +O `type` também deve adicionado nas propriedades `className` de tags HTML geradas pelo componente, para manter o padrão e organização de nomes, e ainda facilita custumizar a sua aparência no código CSS/LESS. + +### Item + +No backoffice os items são geridos em `Listagem > Item`, cada item contém a listagem ao qual pertence, título (`title`), conteúdo (`content`), imagem (`image`), ordem, URL (`link`) e o tipo (`type`) que é o tipo de listagem que é processada. + +O componente ReactJS que gere todos os Itens (`Listing/Item`) no website fica em: + +- `website/src/components/Listing/Item` + +A propriedade `type` pode ser utilizada em condições para customizar a estrutura HTML que será processada na renderização do componente. + +O `type` também deve adicionado nas propriedades `className` de tags HTML geradas pelo componente, para manter o padrão e organização de nomes, e ainda facilita custumizar a sua aparência no código CSS/LESS. + +[:arrow_backward: Principal](../README-pt_PT.md) + diff --git a/docs/logo.afdesign b/docs/logo.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..b1b14992b78fed968de8c34a6c9764991723012e GIT binary patch literal 53371 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 R-ZuaM002ovPDHLkV1lr4kF5Xz literal 0 HcmV?d00001 diff --git a/docs/logo.png b/docs/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dd74bfc30a2ff666356ada513764ab825d7c56bf GIT binary patch literal 47170 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 literal 0 HcmV?d00001 diff --git a/docs/logo.svg b/docs/logo.svg new file mode 100644 index 0000000..250e690 --- /dev/null +++ b/docs/logo.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/page/README-pt_PT.md b/docs/page/README-pt_PT.md new file mode 100644 index 0000000..db06b21 --- /dev/null +++ b/docs/page/README-pt_PT.md @@ -0,0 +1,61 @@ + +# Pagina (`page`) + +[:arrow_backward: Principal](../README-pt_PT.md) + +No menu do backoffice em `Página` é onde é gerida as páginas, navegação e o menu do website. + +### Idioma + +Cada página criada fica associada a um idioma. + +### Pai (`parent`) + +Pode ser definido uma outra página como "pai", o que permite construir uma hierarquia de páginas. + +### Ligação (`link`) + +No campo ligação é onde definimos a parte da URL interna da página, deve começar sempre com `/`, não conter espaço e nem caracteres purtugueses ou outros especiais. + +Exemplos de valores para o campo de ligação: + +- `/produtos` +- `/servicos` +- `/quem-somos/historia` + +### Título + +No campo de título é onde definimos o título a página que vai aparecer no menu (caso esteja ativo) e também da aba (__tab__) e janela do navegador (__browser__). + +### Estado + +Apenas se o estado for **Publicada** então página passa a ficar disponível online. + +Caso contrário fica indisponível no website mas permite a construção e associação de conteúdos em backoffice. + +### Descrição e Palavra-Chave para os Motores de Busca + +O campo de Descrição é onde definimos a informação para ser utilizada pelos motores de busca quando apresentam o link da página. + +E no campo de Palavras-Chave é onde definimos os contextos em que a página convém ser apresentada como resultado nas buscas. + +Exemplo de palavras-chave: + +- ```programação web, desenvolvimento web, websites, lojas online, loja online, plataforma, alojamento``` + +### Descrição e Imagem para as Redes Sociais + +Quando a página for partilhada nas redes sociais é apresentado a imagem e a descrição que estão definidas nos respectivos campos: + +- `Imagem para as Redes Sociais` +- `Descrição para as Redes Sociais` + +### Menu e Ordem + +Se o campo de Menu estiver ativo então a página aparece no menu de navegação do website. + +No campo Ordem define o número de posição da página no menu. + +O campo Menu Título permite ter um título diferente para ser apresentado no menu de navegação do website, assim o título que aparecerá no menu de navegação poderá ser diferente do título da página, não é obrigatório o seu preenchimento e quando não preenchido é utilizado o título da página. + +[:arrow_backward: Principal](../README-pt_PT.md) diff --git a/public/images/icon.png b/public/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd553b508b0d260d71c7327b6facc3e1759105a GIT binary patch literal 44689 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 S%S&V^)O*PLzOLRyOa33>R!L|8 literal 0 HcmV?d00001 diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4ce1d7a973e2a985b392e570a8765fd76d9df0 GIT binary patch literal 23245 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 literal 0 HcmV?d00001 diff --git a/public/styles/login.css b/public/styles/login.css new file mode 100644 index 0000000..f404434 --- /dev/null +++ b/public/styles/login.css @@ -0,0 +1,38 @@ +body { + background-color: #f1f1f1; +} + +.form-control { + background-color: #f1f1f1; + color: #202020; + border: 1px solid #84B9FF; + margin-bottom: 10px; +} + +.form-control:focus { + border-color: #202020; + box-shadow: none; + -webkit-box-shadow: none; +} + +hr { + border-top: none; +} + +.btn-primary { + background-color: #1178FF !important; + border-color: transparent; +} + +.btn-primary.focus, .btn-primary:focus, .btn-primary.active, .btn-primary:active, .open>.dropdown-toggle.btn-primary, .btn-primary:hover { + background-color: #84B9FF !important; + border-color: transparent; +} + +.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus { + outline: 5px auto #000000; + outline-color: #000000; + outline-style: auto; + outline-width: 5px; + outline-offset: -2px; +} diff --git a/public/styles/main.css b/public/styles/main.css new file mode 100644 index 0000000..7473006 --- /dev/null +++ b/public/styles/main.css @@ -0,0 +1,124 @@ +/** + +HERE YOUR CUSTOM CSS + +**/ + +.navbar, .navbar-inverse { + background-color: #e8e8e8 !important; +} + +.dev .navbar, .dev .navbar-inverse { + background-color: #202020 !important; +} + +.dev .top-nav > li > a:hover, .dev .top-nav > li > a:focus, .dev .top-nav > li.active > a, .dev .top-nav > .open > a, .dev .top-nav > .open > a:hover, .dev .top-nav > .open > a:focus { + background-color: #1178FF; + color: #ffffff; +} + +.top-nav > li.active > a { + background-color: #FF8116; + color: #202020; +} + +.dropdown button { + color: #FF8116; +} + +.btn-primary { + background-color: #1178FF; + border-color: transparent; +} + +.btn-primary.focus, .btn-primary:focus, .btn-primary.active, .btn-primary:active, .open>.dropdown-toggle.btn-primary, .btn-primary:hover { + background-color: #5b5ce1; + border-color: transparent; +} + +.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus { + outline: 5px auto #000000; + outline-color: #000000; + outline-style: auto; + outline-width: 5px; + outline-offset: -2px; +} + +.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open>.dropdown-toggle.btn-primary.focus, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary:hover { + background-color: #5b5ce1; + border-color: #FF8116; +} + +.btn-link { + color: #1178FF; +} + +.btn-link:focus, .btn-link:hover { + color: #0053BF; +} + +.text-primary { + color: #1178FF; +} + +.badge-warning { + background-color: #1178FF; +} + +.select2-container--bootstrap .select2-dropdown, +.select2-container--bootstrap.select2-container--focus .select2-selection, +.select2-container--bootstrap.select2-container--open .select2-selection { + border-color: #1178FF; + box-shadow: none; + -webkit-box-shadow: none; +} + +.select2-container--bootstrap .select2-results__option--highlighted[aria-selected] { + background-color: #1178FF; +} + +.form-control:focus { + border-color: #1178FF; + box-shadow: none; + -webkit-box-shadow: none; +} + +.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, +.bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary { + background: #1178FF !important; +} + +.datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active:active { + background: #1178FF; +} + +.clockpicker-canvas line { + stroke: #1178FF !important; +} + +.clockpicker-canvas-bg-trans, .clockpicker-canvas-bg { + fill: rgba(201,80,0,.25) !important; +} + +.clockpicker-canvas-bearing, .clockpicker-canvas-fg { + fill: #1178FF !important; +} + +.clockpicker-tick.active, +.clockpicker-tick:hover { + background-color: #5b5ce1; + background-color: rgba(201,80,0,.25); +} + +.search-content .btn-search, +.search-content .btn-filter { + background: #1178FF !important; +} + +.pagination>li>a, .pagination>li>span { + color: #1178FF !important; +} + +.pagination>li>a:focus, .pagination>li>a:hover, .pagination>li>span:focus, .pagination>li>span:hover { + color: #5b5ce1 !important; +} diff --git a/server/actions/action/saved.js b/server/actions/action/saved.js new file mode 100644 index 0000000..45f1b35 --- /dev/null +++ b/server/actions/action/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() + diff --git a/server/actions/banner/saved.js b/server/actions/banner/saved.js new file mode 100644 index 0000000..61464ae --- /dev/null +++ b/server/actions/banner/saved.js @@ -0,0 +1,5 @@ +// _core : Cluar + +Cluar.build() + +Cluar.actionDataItemProcessWithAnImage() diff --git a/server/actions/banner_action/saved.js b/server/actions/banner_action/saved.js new file mode 100644 index 0000000..45f1b35 --- /dev/null +++ b/server/actions/banner_action/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() + diff --git a/server/actions/configuration/saved.js b/server/actions/configuration/saved.js new file mode 100644 index 0000000..824c346 --- /dev/null +++ b/server/actions/configuration/saved.js @@ -0,0 +1,3 @@ +// _core : Cluar + +Cluar.build() diff --git a/server/actions/content/saved.js b/server/actions/content/saved.js new file mode 100644 index 0000000..2046499 --- /dev/null +++ b/server/actions/content/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() +Cluar.actionDataItemProcessWithAnImage() diff --git a/server/actions/content_action/saved.js b/server/actions/content_action/saved.js new file mode 100644 index 0000000..45f1b35 --- /dev/null +++ b/server/actions/content_action/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() + diff --git a/server/actions/dictionary/saved.js b/server/actions/dictionary/saved.js new file mode 100644 index 0000000..824c346 --- /dev/null +++ b/server/actions/dictionary/saved.js @@ -0,0 +1,3 @@ +// _core : Cluar + +Cluar.build() diff --git a/server/actions/functionality/saved.js b/server/actions/functionality/saved.js new file mode 100644 index 0000000..61464ae --- /dev/null +++ b/server/actions/functionality/saved.js @@ -0,0 +1,5 @@ +// _core : Cluar + +Cluar.build() + +Cluar.actionDataItemProcessWithAnImage() diff --git a/server/actions/language/saved.js b/server/actions/language/saved.js new file mode 100644 index 0000000..824c346 --- /dev/null +++ b/server/actions/language/saved.js @@ -0,0 +1,3 @@ +// _core : Cluar + +Cluar.build() diff --git a/server/actions/listing/saved.js b/server/actions/listing/saved.js new file mode 100644 index 0000000..2046499 --- /dev/null +++ b/server/actions/listing/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() +Cluar.actionDataItemProcessWithAnImage() diff --git a/server/actions/listing_item/saved.js b/server/actions/listing_item/saved.js new file mode 100644 index 0000000..2046499 --- /dev/null +++ b/server/actions/listing_item/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() +Cluar.actionDataItemProcessWithAnImage() diff --git a/server/actions/page/saved.js b/server/actions/page/saved.js new file mode 100644 index 0000000..45f1b35 --- /dev/null +++ b/server/actions/page/saved.js @@ -0,0 +1,4 @@ +// _core : Cluar + +Cluar.build() + diff --git a/server/core/Cluar.js b/server/core/Cluar.js new file mode 100644 index 0000000..8729372 --- /dev/null +++ b/server/core/Cluar.js @@ -0,0 +1,528 @@ + +// _core : CluarCustomData + +class Cluar { + + static base() { + if (_env.is("dev")) { + return "website/public" + } else { + return "website/build" + } + } + + static build(settings) { + settings = settings || {} + + const data = _val.map() + + data.set('config', _app.settings.getValues('cluar').getValues("website")) + + /* + * + * LANGUAGES + * + */ + const dbLanguages = _db.find( + 'language', + _val.map() + .set( + 'where', + _val.map() + .set("active", true) + ) + ) + const languages = _val.list() + for (const dbLanguage of dbLanguages) { + languages.add( + _val.map() + .set("code", dbLanguage.getString("code")) + .set("locale", dbLanguage.getString("locale")) + .set("description", dbLanguage.getString("description")) + .set("default", dbLanguage.getBoolean("default")) + ) + } + data.set("languages", languages) + + /* + * + * CONFIGURATION + * + */ + const configuration = _val.map() + const dbConfigurationWithLanguages = _db.query(` + SELECT + language.code "language", + configuration_parameter.code "code", + configuration.value + FROM language + INNER JOIN configuration ON language.id = configuration.language_id + INNER JOIN configuration_parameter ON configuration.parameter_id = configuration_parameter.id + WHERE language.active = TRUE + AND configuration.active = TRUE + AND configuration_parameter.active = TRUE + ORDER BY language.code, configuration_parameter.code + `) + for (const dbParameter of dbConfigurationWithLanguages) { + if (!configuration.has(dbParameter.getString("language"))) { + configuration.set(dbParameter.getString("language"), _val.map()) + } + configuration.getValues(dbParameter.getString("language")) + .set(dbParameter.getString("code"), dbParameter.getString("value")) + } + const dbConfigurationWithoutLanguages = _db.query(` + SELECT + configuration_parameter.code "code", + configuration.value + FROM configuration + INNER JOIN configuration_parameter ON configuration.parameter_id = configuration_parameter.id + WHERE (configuration.language_id = 0 OR configuration.language_id IS NULL) + AND configuration.active = TRUE + AND configuration_parameter.active = TRUE + ORDER BY configuration_parameter.code + `) + for (const dbParameter of dbConfigurationWithoutLanguages) { + if (!configuration.has("GENERIC")) { + configuration.set("GENERIC", _val.map()) + } + configuration.getValues("GENERIC") + .set(dbParameter.getString("code"), dbParameter.getString("value")) + } + data.set("configuration", configuration) + + /* + * + * DICTIONARY + * + */ + const dbDictionary = _db.query(` + SELECT + language.code "language", + dictionary_entry.code "code", + dictionary.value + FROM language + INNER JOIN dictionary ON dictionary.language_id = language.id + INNER JOIN dictionary_entry ON dictionary.entry_id = dictionary_entry.id + WHERE language.active = TRUE + AND dictionary.active = TRUE + AND dictionary_entry.active = TRUE + ORDER BY language.code, dictionary_entry.code + `) + const dictionary = _val.map() + for (const dbEntry of dbDictionary) { + if (!dictionary.has(dbEntry.getString("language"))) { + dictionary.set(dbEntry.getString("language"), _val.map()) + } + dictionary.getValues(dbEntry.getString("language")) + .set(dbEntry.getString("code"), dbEntry.getString("value")) + } + data.set("dictionary", dictionary) + + /* + * + * PAGES + * + */ + const dbPages = _db.query(` + SELECT + page.id, + page.uid, + language.code "language", + page.parent_id, + page.link, + page.title, + page.description, + page.keywords, + page.menu, + page.menu_title, + page.sorter + FROM language + INNER JOIN page ON language.id = page.language_id + INNER JOIN page_status ON page.status_id = page_status.id + WHERE language.active = TRUE + AND page.active = TRUE + AND page_status.active = TRUE + AND page_status.code = 'published' + ORDER BY language.code, page.sorter, page.link + `) + const pages = _val.map() + for (const dbPage of dbPages) { + if (!pages.has(dbPage.getString("language"))) { + pages.set(dbPage.getString("language"), _val.list()) + } + + const structure = _val.list() + + /* + * + * CONTENTS + * + */ + const dbContents = _db.query(` + SELECT + content.id, + content.uid, + content_type.code "type", + content.title, + content.content, + content.image, + content.image_alt, + content.image_title, + content.image_max_width, + content.sorter + FROM content + INNER JOIN content_type ON content.type_id = content_type.id + WHERE content.active = TRUE + AND content_type.active = TRUE + AND content.page_id = ${dbPage.getInt("id")} + `) + for (const dbContent of dbContents) { + structure.add( + _val.map() + .set("section", "content") + .set("uid", dbContent.getString("uid")) + .set("type", dbContent.getString("type")) + .set("title", dbContent.getString("title")) + .set("content", dbContent.getString("content")) + .set("image", dbContent.getString("image")) + .set("image_alt", dbContent.getString("image_alt")) + .set("image_title", dbContent.getString("image_title")) + .set("image_max_width", dbContent.getString("image_max_width")) + .set("sorter", dbContent.getInt("sorter")) + .set("actions", Cluar.actions("content", dbContent.getInt("id"))) + ) + if (settings.images === true) { + Cluar.publishImage("content", dbContent.getString("image")) + } + } + + /* + * + * BANNERS + * + */ + const dbBanners = _db.query(` + SELECT + banner.id, + banner.uid, + banner_type.code "type", + banner.title, + banner.content, + banner.image, + banner.image_alt, + banner.image_title, + banner.sorter, + banner.position_x, + banner.position_y + FROM banner + INNER JOIN banner_type ON banner.type_id = banner_type.id + WHERE banner.active = TRUE + AND banner_type.active = TRUE + AND banner.page_id = ${dbPage.getInt("id")} + `) + for (const dbBanner of dbBanners) { + structure.add( + _val.map() + .set("uid", dbBanner.getString("uid")) + .set("section", "banner") + .set("type", dbBanner.getString("type")) + .set("title", dbBanner.getString("title")) + .set("content", dbBanner.getString("content")) + .set("image", dbBanner.getString("image")) + .set("image_alt", dbBanner.getString("image_alt")) + .set("image_title", dbBanner.getString("image_title")) + .set("sorter", dbBanner.getInt("sorter")) + .set( + "position", + _val.map() + .set("x", dbBanner.getString("position_x")) + .set("y", dbBanner.getString("position_y")) + ) + .set("actions", Cluar.actions("banner", dbBanner.getInt("id"))) + ) + if (settings.images === true) { + Cluar.publishImage("banner", dbBanner.getString("image")) + } + } + + /* + * + * LISTING + * + */ + const dbListings = _db.query(` + SELECT + listing.id, + listing.uid, + listing_type.code "type", + listing.title, + listing.image_alt, + listing.image_title, + listing.content, + listing.image, + listing.sorter + FROM listing + INNER JOIN listing_type ON listing.type_id = listing_type.id + WHERE listing.active = TRUE + AND listing_type.active = TRUE + AND listing.page_id = ${dbPage.getInt("id")} + `) + for (const dbListing of dbListings) { + const items = _val.list() + const dbItems = _db.query(` + SELECT + uid, title, content, image, image_alt, image_title, sorter, link + FROM listing_item + WHERE listing_id = ${dbListing.getInt("id")} + `) + for (const dbItem of dbItems) { + items.add( + _val.map() + .set("uid", dbItem.getString("uid")) + .set("section", "listing_item") + .set("title", dbItem.getString("title")) + .set("content", dbItem.getString("content")) + .set("image", dbItem.getString("image")) + .set("image_alt", dbItem.getString("image_alt")) + .set("image_title", dbItem.getString("image_title")) + .set("sorter", dbItem.getInt("sorter")) + .set("link", dbItem.getString("link")) + ) + if (settings.images === true) { + Cluar.publishImage("listing_item", dbItem.getString("image")) + } + } + structure.add( + _val.map() + .set("uid", dbListing.getString("uid")) + .set("section", "listing") + .set("type", dbListing.getString("type")) + .set("title", dbListing.getString("title")) + .set("content", dbListing.getString("content")) + .set("image", dbListing.getString("image")) + .set("image_alt", dbListing.getString("image_alt")) + .set("image_title", dbListing.getString("image_title")) + .set("items", items) + .set("sorter", dbListing.getInt("sorter")) + ) + if (settings.images === true) { + Cluar.publishImage("listing", dbListing.getString("image")) + } + } + + /* + * + * FUNCTIONALITY + * + */ + const dbFunctionalities = _db.query(` + SELECT + functionality.id, + functionality.uid, + functionality_type.code "type", + functionality.title, + functionality.content, + functionality.image, + functionality.sorter + FROM functionality + INNER JOIN functionality_type ON functionality.type_id = functionality_type.id + WHERE functionality.active = TRUE + AND functionality_type.active = TRUE + AND functionality.page_id = ${dbPage.getInt("id")} + `) + for (const dbFunctionality of dbFunctionalities) { + structure.add( + _val.map() + .set("uid", dbFunctionality.getString("uid")) + .set("section", "functionality") + .set("type", dbFunctionality.getString("type")) + .set("title", dbFunctionality.getString("title")) + .set("content", dbFunctionality.getString("content")) + .set("image", dbFunctionality.getString("image")) + .set("sorter", dbFunctionality.getInt("sorter")) + ) + if (settings.images === true) { + Cluar.publishImage("functionality", dbFunctionality.getString("image")) + } + } + + structure.sort((a, b) => a.getInt("sorter") - b.getInt("sorter")) + + /* + * + * ADD PAGE + * + */ + let parentLink = "" + if (dbPage.getInt("parent_id") > 0) { + const dbParentPage = _db.findFirst( + "page", + _val.map() + .set("where", _val.map().set("id", dbPage.getInt("parent_id"))) + ) + parentLink = dbParentPage.getString("link") + } + pages.getValues(dbPage.getString("language")) + .add( + _val.map() + .set("uid", dbPage.getString("uid")) + .set("parent", parentLink) + .set("link", dbPage.getString("link")) + .set("title", dbPage.getString("title")) + .set("description", dbPage.getString("description")) + .set("keywords", dbPage.getString("keywords")) + .set("menu", dbPage.getBoolean("menu")) + .set("menu_title", dbPage.getString("menu_title")) + .set("sorter", dbPage.getInt("sorter")) + .set("structure", structure) + ) + } + data.set("pages", pages) + + CluarCustomData(data) + + /* + * + * DATA FILE + * + */ + const file = _app.file(`${Cluar.base()}/cluarData.js`) + file.output().print(`window.cluarData = ${data.toJSON(4)};`) + + if (_app.settings.getValues('cluar').getBoolean("uglifyjs") == true) { + const osUglifyJS = _os.init() + osUglifyJS.directory(_app.folder(Cluar.base())) + const osUglifyJSResult = osUglifyJS.command(`uglifyjs -o cluarData.js -- cluarData.js`) + if (osUglifyJSResult.output() != '' && osUglifyJSResult.error() != '') { + _log.error(`UglifyJS failed:\n\tOutput: ${osUglifyJSResult.output()}\n\tError: ${osUglifyJSResult.error()}`) + } + } + + /* + * + * SITEMAP & ROBOTS + * + */ + const origin = _app.settings.getValues('cluar').getValues("website").getString("url") + const xml = _xml.create() + const document = xml.builder().newDocument() + const tagURLSet = document.createElement("urlset") + const attrNS = document.createAttribute("xmlns") + attrNS.setValue("http://www.sitemaps.org/schemas/sitemap/0.9") + tagURLSet.setAttributeNode(attrNS) + const attrNews = document.createAttribute("xmlns:news") + attrNews.setValue("http://www.google.com/schemas/sitemap-news/0.9") + tagURLSet.setAttributeNode(attrNews) + const attrXHTML = document.createAttribute("xmlns:xhtml") + attrXHTML.setValue("http://www.w3.org/1999/xhtml") + tagURLSet.setAttributeNode(attrXHTML) + const attrMobile = document.createAttribute("xmlns:mobile") + attrMobile.setValue("http://www.sitemaps.org/schemas/sitemap/0.9") + tagURLSet.setAttributeNode(attrMobile) + const attrImage = document.createAttribute("xmlns:image") + attrImage.setValue("http://www.google.com/schemas/sitemap-image/1.1") + tagURLSet.setAttributeNode(attrImage) + const attrVideo = document.createAttribute("xmlns:video") + attrVideo.setValue("http://www.google.com/schemas/sitemap-video/1.1") + tagURLSet.setAttributeNode(attrVideo) + for (const language of languages) { + if (pages.getValues(language.getString("code")) == null) { + continue + } + for (const page of pages.getValues(language.getString("code"))) { + const tagURL = document.createElement("url") + const tagLoc = document.createElement("loc") + tagLoc.appendChild(document.createTextNode(origin +"/"+ language.getString("locale") + page.getString("link"))) + tagURL.appendChild(tagLoc) + const tagChangeFreq = document.createElement("changefreq") + tagChangeFreq.appendChild(document.createTextNode("daily")) + tagURL.appendChild(tagChangeFreq) + let priority = "0.5" + if (page.getString("link") == '/') { + priority = "1.0" + } else if (page.getString("parent") == '') { + priority = "0.7" + } + const tagPriority = document.createElement("priority") + tagPriority.appendChild(document.createTextNode(priority)) + tagURL.appendChild(tagPriority) + tagURLSet.appendChild(tagURL) + } + } + document.appendChild(tagURLSet) + xml.save(document, _app.file(`${Cluar.base()}/sitemap.xml`)) + if (!_app.file(`${Cluar.base()}/robots.txt`).exists()) { + const output = _app.file(`${Cluar.base()}/robots.txt`).output() + .println('User-agent: *') + .println('Allow: /') + .println(`Sitemap: ${origin}/sitemap.xml`) + .close() + } + } + + static publishImage(section, fileName) { + if (fileName == "") { + return; + } + const folder = _app.folder(`${Cluar.base()}/images/${section}`) + if (!folder.exists()) { + folder.mkdir() + } + const websiteFile = _app.file(`${folder.path()}/${fileName}`) + const databaseFile = _storage.database(section, "image", fileName).file() + if (!websiteFile.exists() || databaseFile.available() != websiteFile.available()) { + _storage.database(section, "image", fileName) + .file() + .copy(`${folder.path()}/${fileName}`, true) + } + } + + static actionDataItemProcessWithAnImage() { + const section = _dataItem.getTable() + + const folder = _app.folder(`${Cluar.base()}/images/${section}`) + + if (!folder.exists()) { + folder.mkdir() + } + + if (_dataItem.getValues().has("image:old")) { + _app.file(`${folder.path()}/${_dataItem.getValues().getString("image:old")}`).delete() + } + + if (_dataItem.getValues().has("image:new")) { + _storage.database(section, "image", _dataItem.getValues().getString("image:new")) + .file() + .copy(`${folder.path()}/${_dataItem.getValues().getString("image:new")}`) + } + } + + static actions(section, id) { + const dbActions = _db.query(` + SELECT + action.title, + action.content, + action.indication, + action.link + FROM action + INNER JOIN ${section}_action ON ${section}_action.action_id = action.id + WHERE + action.active = true + AND ${section}_action.active = TRUE + AND ${section}_action.${section}_id = ${id} + ORDER BY ${section}_action.sorter + `) + const actions = _val.list() + for (const dbAction of dbActions) { + actions.add( + _val.map() + .set("title", dbAction.getString("title")) + .set("content", dbAction.getString("content")) + .set("indication", dbAction.getString("indication")) + .set("link", dbAction.getString("link")) + .set("sorter", dbAction.getInt("sorter")) + ) + } + return actions + } +} diff --git a/server/core/CluarCustomData.js b/server/core/CluarCustomData.js new file mode 100644 index 0000000..1feeccd --- /dev/null +++ b/server/core/CluarCustomData.js @@ -0,0 +1,4 @@ + +const CluarCustomData = (data) => { + +} diff --git a/server/core/_config.js b/server/core/_config.js new file mode 100644 index 0000000..b433ddd --- /dev/null +++ b/server/core/_config.js @@ -0,0 +1,22 @@ + +_config.set("_lang", _config.get("_lang:default")) + +if (_env.is("dev") + && (_url.equals("/") || _url.equals("/Index.netuno"))) { + _config + .set("_login:user", "dev") + .set("_login:pass", "dev") + .set("_login:auto", _req.getString("action") != "logout") +} + +/** + * DISABLE BROWSER CACHE + */ + +if (_url.download.isDownloadable()) { + if (_env.is("dev") && _url.indexOf("/public/scripts/main.js") > 0) { + _header.noCache() + } else { + _header.cache(2628000) + } +} diff --git a/server/core/_init.js b/server/core/_init.js new file mode 100644 index 0000000..1cbfacb --- /dev/null +++ b/server/core/_init.js @@ -0,0 +1,5 @@ + +/** + * FIREBASE - Set your listeners + */ +// _firebase.listener("my-test", _header.baseURL() + "/services/firebase/listener/my-test.netuno") diff --git a/server/core/_request_close.js b/server/core/_request_close.js new file mode 100644 index 0000000..e69de29 diff --git a/server/core/_request_end.js b/server/core/_request_end.js new file mode 100644 index 0000000..e69de29 diff --git a/server/core/_request_error.js b/server/core/_request_error.js new file mode 100644 index 0000000..9bab7f2 --- /dev/null +++ b/server/core/_request_error.js @@ -0,0 +1,17 @@ + +if (!_out.isClosed()) { + _out.print( + "### SERVER ERROR ###" + ) + /* + // Is insecure but the code below will print errors with more details... + _out.print( + "SERVER ERROR # " + + _error.data().getString("file") + +":"+ + _error.data().getString("line") + +" # "+ + _error.data().getString("message") + ) + */ +} diff --git a/server/core/_request_start.js b/server/core/_request_start.js new file mode 100644 index 0000000..4577349 --- /dev/null +++ b/server/core/_request_start.js @@ -0,0 +1,2 @@ + +_config.set("_script:_request_end", true) diff --git a/server/core/_request_url.js b/server/core/_request_url.js new file mode 100644 index 0000000..d726c92 --- /dev/null +++ b/server/core/_request_url.js @@ -0,0 +1,14 @@ + +// _log.info(_url.url()) + +/** + * ALLOW CORS + */ +/* +_header.response.set("Access-Control-Allow-Origin", "https://www.netuno.org") +_header.response.set("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE,OPTIONS") +_header.response.set("Access-Control-Allow-Headers", "content-type,x-requested-with,authorization") +_header.response.set("Access-Control-Allow-Credentials", true) +*/ + +_url.to(_url.request()) diff --git a/server/core/_service_config.js b/server/core/_service_config.js new file mode 100644 index 0000000..a94daa7 --- /dev/null +++ b/server/core/_service_config.js @@ -0,0 +1,13 @@ + +/** + * When service need public access... + */ +if (_env.is("dev")) { + _service.allow() +} + +/* +if (_service.path == 'samples/my-service') { + _service.allow() +} +*/ diff --git a/server/core/_service_end.js b/server/core/_service_end.js new file mode 100644 index 0000000..e69de29 diff --git a/server/core/_service_error.js b/server/core/_service_error.js new file mode 100644 index 0000000..38bcefe --- /dev/null +++ b/server/core/_service_error.js @@ -0,0 +1,5 @@ + +/* +// Print error: +_log.fatal("Service "+ _service.path, _error.data().get("throwable")) +*/ \ No newline at end of file diff --git a/server/core/_service_start.js b/server/core/_service_start.js new file mode 100644 index 0000000..e69de29 diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..b5811cf --- /dev/null +++ b/server/package.json @@ -0,0 +1,7 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "Server modules dependencies.", + "author": "netuno.org", + "license": "ISC" +} diff --git a/server/services/admin/contact/list/post.js b/server/services/admin/contact/list/post.js new file mode 100644 index 0000000..ba14b0c --- /dev/null +++ b/server/services/admin/contact/list/post.js @@ -0,0 +1,92 @@ + +const filter = _req.getValues("filter") +const pagination = _req.getValues("pagination") +const sorter = _req.getValues("sorter") + +const pageSize = 10 + +let page = { start: 0, size: pageSize } + +if (pagination != null) { + page.size = pagination.getInt('pageSize', pageSize) + page.start = (pagination.getInt('current', 1) - 1) * page.size +} +if (page.size > 100) { + page.size = 100 +} + +const queryFilter = _val.list() +let queryWhere = ''; + + +if (filter != null) { + if (filter.getString('name') != '') { + queryWhere += ' AND name LIKE ?' + queryFilter.add(`%${ filter.getString('name') }%`) + } + if (filter.getString('email') != '') { + queryWhere += ' AND email LIKE ?' + queryFilter.add(`%${ filter.getString('email') }%`) + } + if (filter.getString('subject') != '') { + queryWhere += ' AND subject LIKE ?' + queryFilter.add(`%${ filter.getString('subject') }%`) + } + if (filter.getString('moment') != '') { + queryWhere += ' AND moment LIKE ?' + queryFilter.add(`%${ filter.getString('moment') }%`) + } +} + + +let querySorter = 'moment DESC'; +if (sorter != null) { + const order = sorter.getString("order") == 'descend' ? 'DESC' : 'ASC' + if (sorter.getString("field") == 'name') { + querySorter = ' name '+ order; + } else if (sorter.getString("field") == 'email') { + querySorter = ' email '+ order; + } else if (sorter.getString("field") == 'subject') { + querySorter = ' subject '+ order; + } else if (sorter.getString("field") == 'moment') { + querySorter = ' moment '+ order; + } +} + +const dbResultados = _db.query(` + SELECT + name, + email, + subject, + moment + FROM contact + WHERE 1 = 1 + ${queryWhere} + ORDER BY ${querySorter} + LIMIT ${page.size} OFFSET ${page.start} +`, queryFilter) + +const resultados = _val.list() + +for (const dbResultado of dbResultados) { + resultados.add( + _val.map() + .set('name', dbResultado.getString('name')) + .set('email', dbResultado.getString('email')) + .set('subject', dbResultado.getString('subject')) + .set('moment', dbResultado.getSQLTimestamp('moment')) + ) +} + +_out.json( + _val.map() + .set( + 'total', + _db.queryFirst(` + SELECT COUNT(1) "total" + FROM contact + WHERE 1 = 1 + ${queryWhere} + `, queryFilter).getInt("total") + ).set('resultados', resultados) +) \ No newline at end of file diff --git a/server/services/contact/post.js b/server/services/contact/post.js new file mode 100644 index 0000000..6a5cc2e --- /dev/null +++ b/server/services/contact/post.js @@ -0,0 +1,19 @@ +const name = _req.getString('name') +const email = _req.getString('email') +const subject = _req.getString('subject') +const message = _req.getString('message') + +_db.insert( + 'contact', + _val.map() + .set('name', name) + .set('email', email) + .set('subject', subject) + .set('message', message) + .set('moment', _db.timestamp()) +) + +_out.json( + _val.map() + .set('result', true) +) \ No newline at end of file diff --git a/server/services/encomenda/post.js b/server/services/encomenda/post.js new file mode 100644 index 0000000..09be697 --- /dev/null +++ b/server/services/encomenda/post.js @@ -0,0 +1,17 @@ + +const nome = _req.getString('nome') +const servicoUID = _req.getString('servico_uid') + +const dbServico = _db.get('servico', servicoUID) + +_db.insert('encomenda', { + nome, + servico_id: dbServico.getInt('id'), + momento: _db.timestamp() +}) + +_out.json({ + result: true +}) + + diff --git a/server/services/encomenda/produto/lista/get.js b/server/services/encomenda/produto/lista/get.js new file mode 100644 index 0000000..3e5aeba --- /dev/null +++ b/server/services/encomenda/produto/lista/get.js @@ -0,0 +1,6 @@ + +_out.json( + _db.query(` + SELECT uid, nome, preco FROM encomenda_produto WHERE active = TRUE + `) +) diff --git a/server/setup/001-language.js b/server/setup/001-language.js new file mode 100644 index 0000000..b4f12b2 --- /dev/null +++ b/server/setup/001-language.js @@ -0,0 +1,26 @@ + +// ----------------------------------------------------------- +// +// LANGUAGE +// +// ----------------------------------------------------------- + +_db.insertIfNotExists( + "language", + _val.init() + .set("uid", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("code", "PT") + .set("locale", "pt") + .set("description", "Portugu\u00EAs") + .set("default", true) +); + +_db.insertIfNotExists( + "language", + _val.init() + .set("uid", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("code", "EN") + .set("locale", "en") + .set("description", "English") + .set("default", false) +); diff --git a/server/setup/002-page_status.js b/server/setup/002-page_status.js new file mode 100644 index 0000000..1b6d5e4 --- /dev/null +++ b/server/setup/002-page_status.js @@ -0,0 +1,22 @@ + +// ----------------------------------------------------------- +// +// PAGE_STATUS +// +// ----------------------------------------------------------- + +_db.insertIfNotExists( + "page_status", + _val.init() + .set("uid", "e24a0cdf-c860-48f2-b597-689f165fd110") + .set("code", "published") + .set("description", "Publicada") +); + +_db.insertIfNotExists( + "page_status", + _val.init() + .set("uid", "b0389f50-4dc3-4be1-ad1e-070573a3f999") + .set("code", "draft") + .set("description", "Rascunho") +); diff --git a/server/setup/003-content_type.js b/server/setup/003-content_type.js new file mode 100644 index 0000000..c1b4e26 --- /dev/null +++ b/server/setup/003-content_type.js @@ -0,0 +1,46 @@ + +// ----------------------------------------------------------- +// +// CONTENT_TYPE +// +// ----------------------------------------------------------- + +_db.insertIfNotExists( + "content_type", + _val.init() + .set("uid", "5d68fe7f-bfc9-424b-98bc-50c0bfe96f2f") + .set("code", "text") + .set("description", "Texto") +); + +_db.insertIfNotExists( + "content_type", + _val.init() + .set("uid", "6638fba0-ce12-4f99-be1f-a407eea2eeab") + .set("code", "image-left") + .set("description", "Imagem \u00E0 Esquerda") +); + +_db.insertIfNotExists( + "content_type", + _val.init() + .set("uid", "03a63665-e41d-4549-bd4c-85063c978968") + .set("code", "image-right") + .set("description", "Imagem \u00E0 Direita") +); + +_db.insertIfNotExists( + "content_type", + _val.init() + .set("uid", "b01f00ae-7179-4a21-bb7b-b9ac6efb94db") + .set("code", "image-top") + .set("description", "Imagem no Topo") +); + +_db.insertIfNotExists( + "content_type", + _val.init() + .set("uid", "b79a8510-482c-43a6-9f00-3f7eb093b347") + .set("code", "image-bottom") + .set("description", "Imagem Embaixo") +); diff --git a/server/setup/004-banner_type.js b/server/setup/004-banner_type.js new file mode 100644 index 0000000..fa70bba --- /dev/null +++ b/server/setup/004-banner_type.js @@ -0,0 +1,30 @@ + +// ----------------------------------------------------------- +// +// BANNER_TYPE +// +// ----------------------------------------------------------- + +_db.insertIfNotExists( + "banner_type", + _val.init() + .set("uid", "d7ca6e7d-08a7-4ec0-8d16-9e3f09cd657c") + .set("code", "default") + .set("description", "Padr\u00E3o") +); + +_db.insertIfNotExists( + "banner_type", + _val.init() + .set("uid", "fa15255a-a309-4ef5-bf72-935fd4e1c1a7") + .set("code", "secondary") + .set("description", "P\u00E1gina secund\u00E1ria") +); + +_db.insertIfNotExists( + "banner_type", + _val.init() + .set("uid", "beb0dcb5-b445-4a44-b038-522c4c544c01") + .set("code", "default-sub-banner") + .set("description", "Padr\u00E3o com Destaque") +); diff --git a/server/setup/005-functionality_type.js b/server/setup/005-functionality_type.js new file mode 100644 index 0000000..c83c393 --- /dev/null +++ b/server/setup/005-functionality_type.js @@ -0,0 +1,22 @@ + +// ----------------------------------------------------------- +// +// FUNCTIONALITY_TYPE +// +// ----------------------------------------------------------- + +_db.insertIfNotExists( + "functionality_type", + _val.init() + .set("uid", "2d35fd56-0256-4fc5-a685-8eccf02f17d3") + .set("code", "contact-form") + .set("description", "Formul\u00E1rio de Contacto") +); + +_db.insertIfNotExists( + "functionality_type", + _val.init() + .set("uid", "a1d26bda-57cd-4ba1-9aa3-868714260b01") + .set("code", "contact-map") + .set("description", "Mapa") +); diff --git a/server/setup/006-page.js b/server/setup/006-page.js new file mode 100644 index 0000000..15be697 --- /dev/null +++ b/server/setup/006-page.js @@ -0,0 +1,44 @@ + +// ----------------------------------------------------------- +// +// PAGE +// +// ----------------------------------------------------------- + +if (_db.query(`SELECT * FROM page`).size() == 0) { + _val.global().set('cluar:setup', true); + _db.insertIfNotExists( + "page", + _val.init() + .set("uid", "0194d0aa-c5ec-4f9d-abab-de6298c5f9e9") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("parent_id", null) + .set("link", "/") + .set("title", "Principal") + .set("status_id", "e24a0cdf-c860-48f2-b597-689f165fd110") + .set("description", "") + .set("social_description", "") + .set("keywords", "") + .set("social_image", "") + .set("menu", true) + .set("menu_title", "") + .set("sorter", 10) + ); + _db.insertIfNotExists( + "page", + _val.init() + .set("uid", "5002a742-e092-4c0b-8536-546bd1319c7f") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("parent_id", null) + .set("link", "/") + .set("title", "Home") + .set("status_id", "e24a0cdf-c860-48f2-b597-689f165fd110") + .set("description", "") + .set("social_description", "") + .set("keywords", "") + .set("social_image", "") + .set("menu", true) + .set("menu_title", "") + .set("sorter", 10) + ); +} \ No newline at end of file diff --git a/server/setup/007-configuration_parameter.js b/server/setup/007-configuration_parameter.js new file mode 100644 index 0000000..4dc407d --- /dev/null +++ b/server/setup/007-configuration_parameter.js @@ -0,0 +1,48 @@ + +// ----------------------------------------------------------- +// +// CONFIGURATION_PARAMETER +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "configuration_parameter", + _val.init() + .set("uid", "2c3a4663-8a09-409f-bddf-b1506b7b9fb7") + .set("code", "footer-address") + .set("description", "Rodapé - Endere\u00E7o") + ); + + _db.insertIfNotExists( + "configuration_parameter", + _val.init() + .set("uid", "199c3736-4996-4b7b-a565-3a2f45ae8971") + .set("code", "footer-email") + .set("description", "Rodapé - E-mail") + ); + + _db.insertIfNotExists( + "configuration_parameter", + _val.init() + .set("uid", "4188eaeb-da5e-4433-8944-2d80752c326d") + .set("code", "footer-phone") + .set("description", "Rodapé - Telefone") + ); + + _db.insertIfNotExists( + "configuration_parameter", + _val.init() + .set("uid", "7ac5d2fe-7c98-46b2-826c-f8f4d41f9857") + .set("code", "map-latitude") + .set("description", "Mapa - Latitude") + ); + + _db.insertIfNotExists( + "configuration_parameter", + _val.init() + .set("uid", "5502693e-8113-429b-852e-9a7364fc48d0") + .set("code", "map-longitude") + .set("description", "Mapa - Longitude") + ); +} \ No newline at end of file diff --git a/server/setup/008-configuration.js b/server/setup/008-configuration.js new file mode 100644 index 0000000..fb5c53e --- /dev/null +++ b/server/setup/008-configuration.js @@ -0,0 +1,62 @@ + +// ----------------------------------------------------------- +// +// CONFIGURATION +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "f7ca0cbc-d439-41c0-879b-862ec11a232a") + .set("language_id", null) + .set("parameter_id", "7ac5d2fe-7c98-46b2-826c-f8f4d41f9857") + .set("value", "38.7038342") + ); + + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "96f3dacf-8059-4a32-8959-3827cc2d0422") + .set("language_id", null) + .set("parameter_id", "5502693e-8113-429b-852e-9a7364fc48d0") + .set("value", "-8.9698548") + ); + + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "1eae692a-d89c-475f-878e-56ba9a286435") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("parameter_id", "199c3736-4996-4b7b-a565-3a2f45ae8971") + .set("value", "meu@e-mail.org") + ); + + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "5e991293-9430-48c9-8d0f-3673fa97b2ee") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("parameter_id", "199c3736-4996-4b7b-a565-3a2f45ae8971") + .set("value", "my@e-mail.org") + ); + + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "6dad2c47-66ab-436a-a171-92fb95d3cbdc") + .set("language_id", null) + .set("parameter_id", "2c3a4663-8a09-409f-bddf-b1506b7b9fb7") + .set("value", "Netuno.org, Cluar CMS\r\nOpen Source") + ); + + _db.insertIfNotExists( + "configuration", + _val.init() + .set("uid", "c330772c-98b4-4ef7-8578-3fef4f8355c4") + .set("language_id", null) + .set("parameter_id", "4188eaeb-da5e-4433-8944-2d80752c326d") + .set("value", "99999 9999") + ); +} \ No newline at end of file diff --git a/server/setup/009-dictionary_entry.js b/server/setup/009-dictionary_entry.js new file mode 100644 index 0000000..d305528 --- /dev/null +++ b/server/setup/009-dictionary_entry.js @@ -0,0 +1,80 @@ + +// ----------------------------------------------------------- +// +// DICTIONARY_ENTRY +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "8aa071de-147a-4774-bcba-414ba656a267") + .set("code", "contact-form-validate-message-required") + .set("description", "Formul\u00E1rio de Contato - Mensagem Valida\u00E7\u00E3o - Obrigat\u00F3rio") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "31e6aeb9-f7a7-4c1c-9330-a294be006f32") + .set("code", "contact-form-validate-message-email") + .set("description", "Formul\u00E1rio de Contato - Mensagem Valida\u00E7\u00E3o - E-mail") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "c5a81306-6f43-4dd5-9162-d14b9e836a81") + .set("code", "contact-form-fail") + .set("description", "Formul\u00E1rio de Contato - Falhou") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "50d5d744-83a2-4998-97ba-cac58fc04567") + .set("code", "contact-form-success") + .set("description", "Formul\u00E1rio de Contato - Sucesso") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "b0184ea5-c404-476e-bb6f-75943474e955") + .set("code", "contact-form-name") + .set("description", "Formul\u00E1rio de Contato - Nome") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "a6909e12-db4a-4868-ba83-940c640ee43d") + .set("code", "contact-form-email") + .set("description", "Formul\u00E1rio de Contato - E-mail") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "4bacb148-e1dc-44d0-a9de-5a435275b945") + .set("code", "contact-form-subject") + .set("description", "Formul\u00E1rio de Contato - T\u00EDtulo") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "98c54df2-e402-49ef-9294-ebfd5741189b") + .set("code", "contact-form-message") + .set("description", "Formul\u00E1rio de Contato - Mensagem") + ); + + _db.insertIfNotExists( + "dictionary_entry", + _val.init() + .set("uid", "25a5efa8-24c2-441b-8304-ce597fe1604b") + .set("code", "contact-form-send") + .set("description", "Formul\u00E1rio de Contato - Enviar") + ); +} \ No newline at end of file diff --git a/server/setup/010-dictionary.js b/server/setup/010-dictionary.js new file mode 100644 index 0000000..179897b --- /dev/null +++ b/server/setup/010-dictionary.js @@ -0,0 +1,170 @@ + +// ----------------------------------------------------------- +// +// DICTIONARY +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "e130993c-b071-4977-966f-3efa77f197b7") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "8aa071de-147a-4774-bcba-414ba656a267") + .set("value", "

${label} \u00E9 de preenchimento obrigat\u00F3rio.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "3c61988c-1477-49e2-9e40-ee257bef372a") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "31e6aeb9-f7a7-4c1c-9330-a294be006f32") + .set("value", "

${label} n\u00E3o \u00E9 um e-mail v\u00E1lido.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "6dfa7992-c17c-415d-8aea-c3830eb57df0") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "c5a81306-6f43-4dd5-9162-d14b9e836a81") + .set("value", "

N\u00E3o foi poss\u00EDvel enviar os dados, tente novamente mais tarde.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "1a3b7585-cdd7-42cc-8a2e-dbcad7de6972") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "50d5d744-83a2-4998-97ba-cac58fc04567") + .set("value", "

Os dados foram enviados com sucesso, obrigado.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "07a7e579-e7f5-4fae-a964-991995c9048e") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "b0184ea5-c404-476e-bb6f-75943474e955") + .set("value", "

Nome

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "aeb2ea01-ed37-41cd-9526-63c23627f24c") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "a6909e12-db4a-4868-ba83-940c640ee43d") + .set("value", "

E-mail

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "e34bdbbd-a4c8-43af-be57-ce212dadce88") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "4bacb148-e1dc-44d0-a9de-5a435275b945") + .set("value", "

T\u00EDtulo

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "6c267748-62bf-48cc-9e3d-6f65397ad6a4") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "98c54df2-e402-49ef-9294-ebfd5741189b") + .set("value", "

Mensagem

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "4d0e1d26-e443-4cd4-95cc-bae494294fff") + .set("language_id", "b6804103-2f6c-4184-a431-0c8b94ea7322") + .set("entry_id", "25a5efa8-24c2-441b-8304-ce597fe1604b") + .set("value", "

Enviar

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "fc1cf2a5-5560-48aa-8683-01766e7f3cf1") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "8aa071de-147a-4774-bcba-414ba656a267") + .set("value", "

${label} is mandatory.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "5d83858a-fecb-4529-a6cf-78126b811b45") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "31e6aeb9-f7a7-4c1c-9330-a294be006f32") + .set("value", "

${label} is not a valid e-mail.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "007cf96b-1f7d-4952-ae4c-b114882bcb6c") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "c5a81306-6f43-4dd5-9162-d14b9e836a81") + .set("value", "

Unable to send data, please try again later.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "2ef5fa06-5ac4-4bcd-a107-4bafae0bb0ab") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "50d5d744-83a2-4998-97ba-cac58fc04567") + .set("value", "

Data has been sent successfully, thank you.

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "e8723ce6-82d0-469f-b7d3-66fa6cb8c0ba") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "b0184ea5-c404-476e-bb6f-75943474e955") + .set("value", "

Name

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "bfeb5f5a-471d-441b-9ab8-ac5d65d50d06") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "a6909e12-db4a-4868-ba83-940c640ee43d") + .set("value", "

E-mail

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "6f12f4b0-362f-48e8-a8a5-6e68277a35d3") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "4bacb148-e1dc-44d0-a9de-5a435275b945") + .set("value", "

Subject

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "e43c4485-6370-486b-8125-5968a9ce992e") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "98c54df2-e402-49ef-9294-ebfd5741189b") + .set("value", "

Message

") + ); + + _db.insertIfNotExists( + "dictionary", + _val.init() + .set("uid", "76ef9bd4-9244-4f32-afae-295fca3617ce") + .set("language_id", "dd9ca34e-3f70-461d-a42d-234651233658") + .set("entry_id", "25a5efa8-24c2-441b-8304-ce597fe1604b") + .set("value", "

Send

") + ); +} \ No newline at end of file diff --git a/server/setup/011-banner.js b/server/setup/011-banner.js new file mode 100644 index 0000000..6c4cf7c --- /dev/null +++ b/server/setup/011-banner.js @@ -0,0 +1,39 @@ + +// ----------------------------------------------------------- +// +// BANNER +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "banner", + _val.init() + .set("uid", "5126f3bb-51d1-489e-89dc-08087ed38e5e") + .set("page_id", "0194d0aa-c5ec-4f9d-abab-de6298c5f9e9") + .set("type_id", "d7ca6e7d-08a7-4ec0-8d16-9e3f09cd657c") + .set("image", _storage.filesystem('server', 'default-banner-background.jpg').file()) + .set("image_title", "") + .set("image_alt", "") + .set("title", "Prestes a Voar") + .set("content", "

Aqui é onde voc\u00EA lan\u00E7a websites em uma outra dimens\u00E3o.

") + .set("sorter", 10) + .set("position_x", "") + .set("position_y", "") + ); + _db.insertIfNotExists( + "banner", + _val.init() + .set("uid", "9302bc90-d687-494d-bfc0-b4aeff4df09e") + .set("page_id", "5002a742-e092-4c0b-8536-546bd1319c7f") + .set("type_id", "d7ca6e7d-08a7-4ec0-8d16-9e3f09cd657c") + .set("image", _storage.filesystem('server', 'default-banner-background.jpg').file()) + .set("image_title", "") + .set("image_alt", "") + .set("title", "Ready to Fly") + .set("content", "

Here is where you launch websites into another dimension.

") + .set("sorter", 10) + .set("position_x", "") + .set("position_y", "") + ); +} \ No newline at end of file diff --git a/server/setup/012-content.js b/server/setup/012-content.js new file mode 100644 index 0000000..6b78c8f --- /dev/null +++ b/server/setup/012-content.js @@ -0,0 +1,68 @@ + +// ----------------------------------------------------------- +// +// CONTENT +// +// ----------------------------------------------------------- + +if (_val.global().getBoolean('cluar:setup')) { + _db.insertIfNotExists( + "content", + _val.init() + .set("uid", "f110a9d1-c9cd-40a3-9359-7b472234e0ac") + .set("page_id", "0194d0aa-c5ec-4f9d-abab-de6298c5f9e9") + .set("type_id", "5d68fe7f-bfc9-424b-98bc-50c0bfe96f2f") + .set("image", "") + .set("image_title", "") + .set("image_alt", "") + .set("image_max_width", 0) + .set("title", "Documenta\u00E7\u00E3o") + .set("content", "

Veja a documenta\u00E7\u00E3o oficial online em:

A vers\u00E3o offline est\u00E1 na pasta docs que est\u00E1 na ra\u00EDz deste projeto, a\u00ED \u00E9 onde vai encontrar o README inicial.

") + .set("sorter", 20) + ); + + _db.insertIfNotExists( + "content", + _val.init() + .set("uid", "ed312fe0-b839-4367-82c1-1445464b39d0") + .set("page_id", "0194d0aa-c5ec-4f9d-abab-de6298c5f9e9") + .set("type_id", "5d68fe7f-bfc9-424b-98bc-50c0bfe96f2f") + .set("image", "") + .set("image_title", "") + .set("image_alt", "") + .set("image_max_width", 0) + .set("title", "C\u00F3digo Aberto & Comunidade") + .set("content", "

Todas as tecnologias utilizadas aqui s\u00E3o livres e abertas.

Colabore sugerindo melhorias ou reportando problemas em issues.

Para ajudar a comunidade publique as tuas d\u00FAvidas e dificuldades no forum

Visite o site do Netuno e siga-nos nas redes sociais e participe do nosso servidor no discord, os links est\u00E3o no rodap\u00E9.

") + .set("sorter", 30) + ); + + _db.insertIfNotExists( + "content", + _val.init() + .set("uid", "b0697f9e-3eb0-468f-bb71-13d5a9e211fe") + .set("page_id", "5002a742-e092-4c0b-8536-546bd1319c7f") + .set("type_id", "5d68fe7f-bfc9-424b-98bc-50c0bfe96f2f") + .set("image", "") + .set("image_title", "") + .set("image_alt", "") + .set("image_max_width", 0) + .set("title", "Documentation") + .set("content", "

See the official documentation online at:

The offline version is in the docs folder at the root of this project, that's where you'll find the initial README.

") + .set("sorter", 20) + ); + + _db.insertIfNotExists( + "content", + _val.init() + .set("uid", "d7564744-f70f-4859-9070-86a3b2a83e91") + .set("page_id", "5002a742-e092-4c0b-8536-546bd1319c7f") + .set("type_id", "5d68fe7f-bfc9-424b-98bc-50c0bfe96f2f") + .set("image", "") + .set("image_title", "") + .set("image_alt", "") + .set("image_max_width", 0) + .set("title", "Open Source & Community") + .set("content", "

All technologies used here are free and open.

Collaborate by suggesting improvements or reporting problems in issues.

To help the community post your doubts and difficulties in the forum

Visit Netuno's website and follow us on social media and join our discord server, the links are in the footer.

") + .set("sorter", 30) + ); +} \ No newline at end of file diff --git a/server/setup/_end.js b/server/setup/_end.js new file mode 100644 index 0000000..63f6268 --- /dev/null +++ b/server/setup/_end.js @@ -0,0 +1,6 @@ +// _core : Cluar + +if (_val.global().getBoolean('cluar:setup')) { + Cluar.build({ images: true }); + _val.global().set('cluar:setup', false) +} diff --git a/server/setup/_schema-form-01-action.js b/server/setup/_schema-form-01-action.js new file mode 100644 index 0000000..9e79ca5 --- /dev/null +++ b/server/setup/_schema-form-01-action.js @@ -0,0 +1,184 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "A\u00E7\u00E3o") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "action") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "e431bb06-50f4-4618-abf8-c7a608a9101d") +) +_form.createComponentIfNotExists( + "e431bb06-50f4-4618-abf8-c7a608a9101d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "df187d76-da2e-453e-814f-45fdd02360bf") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "e431bb06-50f4-4618-abf8-c7a608a9101d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Indica\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "indication") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "025cac3e-0780-468e-acbc-bc932659db55") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "e431bb06-50f4-4618-abf8-c7a608a9101d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Idioma") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "language_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"language:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "8662e9e7-d415-4241-b7bb-2f7b5ee0060a") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "e431bb06-50f4-4618-abf8-c7a608a9101d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Liga\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "link") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "111afaae-98e8-4273-9b51-964ac3f17442") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "e431bb06-50f4-4618-abf8-c7a608a9101d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "4b9e8fb4-8400-4c6e-b7f5-cc5d772f22f2") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-02-banner.js b/server/setup/_schema-form-02-banner.js new file mode 100644 index 0000000..840a7a8 --- /dev/null +++ b/server/setup/_schema-form-02-banner.js @@ -0,0 +1,339 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Estandarte") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "banner") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757") +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "26fea504-9b86-42ab-9022-6a2c7d90d0af") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 7) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "811a5ef0-ef14-402a-bf68-4df21d03fae6") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem Alt") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_alt") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "80bfe7a6-b4fd-4c14-8fd8-c6e377eaa485") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "eb51abc7-e61b-4153-8c1c-83ef15be6996") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "P\u00E1gina") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "page_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "65e5a9fc-05b2-4437-a30b-b231541c35fc") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Posi\u00E7\u00E3o X") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "position_x") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "1c3e8f1e-f01b-4603-a9c6-22a47262af30") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 9) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Posi\u00E7\u00E3o Y") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "position_y") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "3022d275-2995-430a-bb15-ea2b8d60c500") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 2) + .set("y", 9) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "b5529778-26e5-4157-8d38-8a1b064c5a16") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 8) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "d24c20b1-22fb-40d9-b93e-36bf51a9eb76") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Tipo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "type_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"banner_type:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "58fb0835-818d-48fa-86fb-13c369f20ba8") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-03-banner_action.js b/server/setup/_schema-form-03-banner_action.js new file mode 100644 index 0000000..f0d67e0 --- /dev/null +++ b/server/setup/_schema-form-03-banner_action.js @@ -0,0 +1,123 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "A\u00E7\u00E3o") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "banner_action") + .set("parent_uid", "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "25b3d049-5020-404c-b275-ddd94d45854d") +) +_form.createComponentIfNotExists( + "25b3d049-5020-404c-b275-ddd94d45854d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "A\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "action_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"action:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "9ff9ecb7-1ea9-4e5e-8193-6ce89cffe343") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "25b3d049-5020-404c-b275-ddd94d45854d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Estandarte") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "banner_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"banner:title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "29082408-4537-4bea-aaae-36a05060dafc") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "25b3d049-5020-404c-b275-ddd94d45854d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "e7471461-7aa0-49b4-ab5d-a8109ae789e9") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-04-banner_type.js b/server/setup/_schema-form-04-banner_type.js new file mode 100644 index 0000000..55be9f7 --- /dev/null +++ b/server/setup/_schema-form-04-banner_type.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Tipo") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "banner_type") + .set("parent_uid", "f8a5b285-d7ba-4ec6-9c7d-ba1ca75f0757") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "24446fbd-870d-4ba1-9547-61ffde717ea4") +) +_form.createComponentIfNotExists( + "24446fbd-870d-4ba1-9547-61ffde717ea4", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "6fce576b-2113-4027-8750-c1bce255de2c") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "24446fbd-870d-4ba1-9547-61ffde717ea4", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "ddf91016-4b1f-4db8-a2ef-8ab66d029749") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-05-configuration.js b/server/setup/_schema-form-05-configuration.js new file mode 100644 index 0000000..90b61f3 --- /dev/null +++ b/server/setup/_schema-form-05-configuration.js @@ -0,0 +1,122 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Configura\u00E7\u00E3o") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "configuration") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "67c60baf-b667-4341-9f41-7e5039f14b13") +) +_form.createComponentIfNotExists( + "67c60baf-b667-4341-9f41-7e5039f14b13", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Idioma") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "language_id") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"language:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "05c691d3-de0a-4906-8adb-44b1d52ed064") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "67c60baf-b667-4341-9f41-7e5039f14b13", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Par\u00E2metro") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "parameter_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"configuration_parameter:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "1c2d1973-8eda-4b87-91a8-a148424ff63b") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "67c60baf-b667-4341-9f41-7e5039f14b13", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Valor") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "value") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "b0816177-6d49-477f-a474-256163f9cf7a") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-06-configuration_parameter.js b/server/setup/_schema-form-06-configuration_parameter.js new file mode 100644 index 0000000..ab938ea --- /dev/null +++ b/server/setup/_schema-form-06-configuration_parameter.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Par\u00E2metro") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "configuration_parameter") + .set("parent_uid", "67c60baf-b667-4341-9f41-7e5039f14b13") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "5617ebed-9f41-4a31-a118-e616768b7465") +) +_form.createComponentIfNotExists( + "5617ebed-9f41-4a31-a118-e616768b7465", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "03036c7b-2428-44a7-a614-3bb138ba2959") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "5617ebed-9f41-4a31-a118-e616768b7465", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "9f91e5a8-aa55-4111-8297-1aace5ba54d9") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-07-contact.js b/server/setup/_schema-form-07-contact.js new file mode 100644 index 0000000..5cd2336 --- /dev/null +++ b/server/setup/_schema-form-07-contact.js @@ -0,0 +1,215 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Contacto") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "contact") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "80fe7d91-d01c-4275-abf6-4b2814d5eb33") +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Email") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "email") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "email") + .set("uid", "dbd8d70d-eb23-42f7-a0eb-90c14a521abe") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "File") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "file") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "file") + .set("uid", "656f91f9-d957-49a9-9c7a-ac5eeef36d34") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Mensagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "message") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "de129d9a-f908-4d74-b456-4051bfc5f919") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Momento") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "moment") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"DEFAULT_CURRENT\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"true\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "datetime") + .set("uid", "b45467c6-9eb2-42a8-9506-4fca6fbfd6f2") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Nome") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "name") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "5063685a-79b8-4a78-9160-c1b6ac9debf3") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "80fe7d91-d01c-4275-abf6-4b2814d5eb33", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "subject") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "1130646f-2609-4016-ae9a-f8ca7bbb43f0") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-08-content.js b/server/setup/_schema-form-08-content.js new file mode 100644 index 0000000..ba0d6b9 --- /dev/null +++ b/server/setup/_schema-form-08-content.js @@ -0,0 +1,308 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "content") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "3ed92a11-c243-4bdb-a542-bb22abca638d") +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "5c555356-7bae-4a5c-b8d2-6cb391b81c86") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 7) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "8cda97d7-567b-4cae-928f-5818a57879e6") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem Alt") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_alt") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "62e0e31e-b432-459e-b742-5324ba48d6c6") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Largura M\u00E1xima da Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_max_width") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "4c21af21-c991-4d95-a7c1-f5c3692a1a27") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "9749e1bb-bea0-436c-9e6b-33cacd9d7fa6") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "P\u00E1gina") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "page_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "5bb9dea5-63b0-412f-aff1-3db618d0b35a") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "34106bd8-254d-46a8-a512-814100d89792") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 8) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "3fdeedc5-2e00-4171-b87c-f402ac19bfb3") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "3ed92a11-c243-4bdb-a542-bb22abca638d", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Tipo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "type_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"content_type:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "86c8c6b0-aaae-45dd-a1f5-23a3ea676e3e") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-09-content_action.js b/server/setup/_schema-form-09-content_action.js new file mode 100644 index 0000000..c4e1aab --- /dev/null +++ b/server/setup/_schema-form-09-content_action.js @@ -0,0 +1,123 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "A\u00E7\u00E3o") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "content_action") + .set("parent_uid", "3ed92a11-c243-4bdb-a542-bb22abca638d") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "407e5448-e290-4f69-92cf-704ac2def08c") +) +_form.createComponentIfNotExists( + "407e5448-e290-4f69-92cf-704ac2def08c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "A\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "action_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"action:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "56e5f9ec-e7b6-4dd6-adda-6391b40a67d5") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "407e5448-e290-4f69-92cf-704ac2def08c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"content:page_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "6ea861e5-e382-4895-b91a-4c735a089b94") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "407e5448-e290-4f69-92cf-704ac2def08c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "805225b1-24ec-4b57-a679-3d8f39e3e922") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-10-content_type.js b/server/setup/_schema-form-10-content_type.js new file mode 100644 index 0000000..ac8c4f9 --- /dev/null +++ b/server/setup/_schema-form-10-content_type.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Tipo") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "content_type") + .set("parent_uid", "3ed92a11-c243-4bdb-a542-bb22abca638d") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "a2097bd8-cfaa-4e02-a2e9-f1626864f60e") +) +_form.createComponentIfNotExists( + "a2097bd8-cfaa-4e02-a2e9-f1626864f60e", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "cd6a62f8-1d0f-46e5-a698-58e72c69c014") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "a2097bd8-cfaa-4e02-a2e9-f1626864f60e", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "1f368c74-4bee-42aa-b712-931773130209") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-11-dictionary.js b/server/setup/_schema-form-11-dictionary.js new file mode 100644 index 0000000..5acba13 --- /dev/null +++ b/server/setup/_schema-form-11-dictionary.js @@ -0,0 +1,122 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Dicion\u00E1rio") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "dictionary") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "d2cfcdaf-b308-4e99-bfc1-b1a5df0b3090") +) +_form.createComponentIfNotExists( + "d2cfcdaf-b308-4e99-bfc1-b1a5df0b3090", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Chave") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "entry_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"dictionary_entry:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "80928e1b-6206-4848-b55f-e278b782420d") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "d2cfcdaf-b308-4e99-bfc1-b1a5df0b3090", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Idioma") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "language_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"language:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "6edfc61f-0cad-4720-bc3c-4f75cd4a1775") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "d2cfcdaf-b308-4e99-bfc1-b1a5df0b3090", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Valor") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "value") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "1a7ac9d8-7a39-4565-be78-b64b3d14c555") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-12-dictionary_entry.js b/server/setup/_schema-form-12-dictionary_entry.js new file mode 100644 index 0000000..8f6f2e3 --- /dev/null +++ b/server/setup/_schema-form-12-dictionary_entry.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Entrada") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "dictionary_entry") + .set("parent_uid", "d2cfcdaf-b308-4e99-bfc1-b1a5df0b3090") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "44450cdb-eece-4485-9fc7-0a38da700beb") +) +_form.createComponentIfNotExists( + "44450cdb-eece-4485-9fc7-0a38da700beb", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "6db5e1e8-9422-448d-89f9-2082f798a885") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "44450cdb-eece-4485-9fc7-0a38da700beb", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "0e759b10-4067-42ee-84de-c39e077ebe9f") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-13-encomenda.js b/server/setup/_schema-form-13-encomenda.js new file mode 100644 index 0000000..6ab97d2 --- /dev/null +++ b/server/setup/_schema-form-13-encomenda.js @@ -0,0 +1,122 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Encomenda") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "encomenda") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "13f2d88a-a7c7-43f5-906b-88300719640c") +) +_form.createComponentIfNotExists( + "13f2d88a-a7c7-43f5-906b-88300719640c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Data") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "data") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"DEFAULT_CURRENT\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"true\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "date") + .set("uid", "ebdc4a87-4677-4015-a04f-c99fe5759a8e") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "13f2d88a-a7c7-43f5-906b-88300719640c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Nome") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "nome") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "abbc810f-59ce-4550-a90e-52fe6d1abafd") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "13f2d88a-a7c7-43f5-906b-88300719640c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Produto") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "produto_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"encomenda_produto:nome,preco\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "f4d57914-5412-4bd7-8f5f-84752050bf44") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) diff --git a/server/setup/_schema-form-14-encomenda_produto.js b/server/setup/_schema-form-14-encomenda_produto.js new file mode 100644 index 0000000..2ccf91f --- /dev/null +++ b/server/setup/_schema-form-14-encomenda_produto.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Produto") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "encomenda_produto") + .set("parent_uid", "13f2d88a-a7c7-43f5-906b-88300719640c") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "ec74f537-1b12-41b0-a25f-aeb0d001ebc5") +) +_form.createComponentIfNotExists( + "ec74f537-1b12-41b0-a25f-aeb0d001ebc5", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Nome") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "nome") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "ad7be19a-f907-489a-9305-6e3da0dc6959") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "ec74f537-1b12-41b0-a25f-aeb0d001ebc5", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Pre\u00E7o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "preco") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"true\",\"type\":\"BOOLEAN\",\"value\":\"true\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"#.##0,00\",\"type\":\"STRING\",\"value\":\"#.##0,00\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textfloat") + .set("uid", "3dec66d3-26e5-49f3-90fd-64424b64c474") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-15-functionality.js b/server/setup/_schema-form-15-functionality.js new file mode 100644 index 0000000..bd0a822 --- /dev/null +++ b/server/setup/_schema-form-15-functionality.js @@ -0,0 +1,215 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Funcionalidade") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "functionality") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "62b515ac-e376-4859-9b47-03558601a872") +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "76a2fa3f-00d2-474e-a346-24ec06f0de0a") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "b8b48fb2-2cb6-4e05-b71b-c8739c4289c8") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "P\u00E1gina") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "page_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "4f7a0e9a-e8f8-4fa7-8eb1-b5e2326f7f4f") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "7f70d5de-9b63-44b6-8755-d4952a240d4f") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "2cf563b1-a435-479b-9549-9c767bb4cedf") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "62b515ac-e376-4859-9b47-03558601a872", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Tipo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "type_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"functionality_type:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "d5a483b2-cb18-446e-9ace-ad7ee0eac952") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-16-functionality_type.js b/server/setup/_schema-form-16-functionality_type.js new file mode 100644 index 0000000..0151197 --- /dev/null +++ b/server/setup/_schema-form-16-functionality_type.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Tipo") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "functionality_type") + .set("parent_uid", "62b515ac-e376-4859-9b47-03558601a872") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "80e8f4dc-e626-4b3d-9b69-5a733789c41e") +) +_form.createComponentIfNotExists( + "80e8f4dc-e626-4b3d-9b69-5a733789c41e", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "26cc95e1-c142-4889-8188-b2024577501e") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "80e8f4dc-e626-4b3d-9b69-5a733789c41e", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "f966e3bc-e6de-4164-9df5-13485164cf36") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-17-language.js b/server/setup/_schema-form-17-language.js new file mode 100644 index 0000000..8661629 --- /dev/null +++ b/server/setup/_schema-form-17-language.js @@ -0,0 +1,153 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Idioma") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "language") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "a9d53c5e-4d74-4616-8d5e-244f719cc5b8") +) +_form.createComponentIfNotExists( + "a9d53c5e-4d74-4616-8d5e-244f719cc5b8", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "34c22253-5a45-4332-86f4-f4c91529574d") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "a9d53c5e-4d74-4616-8d5e-244f719cc5b8", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Padr\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "default") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"DEFAULT\":{\"default\":\"true\",\"type\":\"BOOLEAN\",\"value\":\"true\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "checkbox") + .set("uid", "2ab4eb42-843c-4f29-bb57-e035116b7cc0") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "a9d53c5e-4d74-4616-8d5e-244f719cc5b8", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "d4b7acbb-d796-46de-b7f8-f7cf83e1ac38") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "a9d53c5e-4d74-4616-8d5e-244f719cc5b8", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Localiza\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "locale") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "be3bbbe3-153e-48cf-a0af-606b9daf0d23") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-18-listing.js b/server/setup/_schema-form-18-listing.js new file mode 100644 index 0000000..de3db4b --- /dev/null +++ b/server/setup/_schema-form-18-listing.js @@ -0,0 +1,277 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Listagem") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "listing") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "033ca390-bda9-42ce-9867-7e234bfc6df2") +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "5f02bc93-cca6-4882-bd97-1948e3322669") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "3d911f8a-309e-4c62-a95e-3c714f3afd08") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem Alt") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_alt") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "242690d9-f8cb-45d5-b791-5f4b9a667aa7") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 7) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "ab0c9a13-b3e2-408e-9ec2-9542e6b9c6fd") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "P\u00E1gina") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "page_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "e48c90e6-0d67-4335-8cea-cd1cebeb3574") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "b0a381d2-8f00-41f8-86e1-d34a01023764") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 8) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "54e35ded-d73c-41e3-8364-957405f20f6f") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "033ca390-bda9-42ce-9867-7e234bfc6df2", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Tipo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "type_id") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"listing_type:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "e1e5270d-7fbd-401e-bf71-e34a4008d06f") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-19-listing_item.js b/server/setup/_schema-form-19-listing_item.js new file mode 100644 index 0000000..12380e2 --- /dev/null +++ b/server/setup/_schema-form-19-listing_item.js @@ -0,0 +1,278 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Item") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "listing_item") + .set("parent_uid", "033ca390-bda9-42ce-9867-7e234bfc6df2") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "fcd6e4d2-019d-469a-8b7e-d61008a7574c") +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Conte\u00FAdo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "content") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "texthtml") + .set("uid", "fb82ffb7-3c5e-426b-a922-73cd6f590aa2") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "ba8bbe77-bbd3-411b-bb1f-7f00fb4bf8d2") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem Alt") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_alt") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "13afe71e-9e43-468b-8f79-90cde0dd6988") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "image_title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "988373da-ed1c-4f0d-8df5-600e9c6371f9") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "URL") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "link") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "8e5ef60b-08f3-4232-9b21-999eded811c6") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 8) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Listagem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "listing_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"listing:page_id,title,type_id\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "17d8a8ae-57e3-4d72-addd-5137b390b8e9") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "00203473-8ce9-462c-ba35-dff773b36b18") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 7) +) +_form.createComponentIfNotExists( + "fcd6e4d2-019d-469a-8b7e-d61008a7574c", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "0ace5a26-b6b4-4a2e-8491-a53c1bf5f82c") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-20-listing_type.js b/server/setup/_schema-form-20-listing_type.js new file mode 100644 index 0000000..17999a5 --- /dev/null +++ b/server/setup/_schema-form-20-listing_type.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Tipo") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "listing_type") + .set("parent_uid", "033ca390-bda9-42ce-9867-7e234bfc6df2") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "4e7b1b9b-522f-4ea9-bbab-444625419a26") +) +_form.createComponentIfNotExists( + "4e7b1b9b-522f-4ea9-bbab-444625419a26", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "c8947604-2039-4c01-8b4b-ecb6c3c3d8a4") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "4e7b1b9b-522f-4ea9-bbab-444625419a26", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "9b7f32d9-1b17-4695-8335-fc8abdbc7a51") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-21-page.js b/server/setup/_schema-form-21-page.js new file mode 100644 index 0000000..51d5914 --- /dev/null +++ b/server/setup/_schema-form-21-page.js @@ -0,0 +1,401 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "P\u00E1gina") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "page") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "e6c40643-e58a-40aa-b430-7a003ec65246") +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o ") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "fd2741ed-c0d6-418c-a488-a8450f9dadad") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Palavras-Chave") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "keywords") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "49c7dac6-c1dc-4fda-81be-cf6a2b9194d0") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 7) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Idioma") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "language_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"language:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "7988d100-8663-4573-ad39-ffaea20f0702") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Liga\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "link") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "42f0ac58-b571-4905-b03d-a9c88b825032") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 3) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Menu") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "menu") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"DEFAULT\":{\"default\":\"true\",\"type\":\"BOOLEAN\",\"value\":\"true\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "checkbox") + .set("uid", "50837285-1b73-440a-a107-111eb59040d7") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 9) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Menu T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "menu_title") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "4efe09c9-4768-43c0-90d3-d3c8ef08bbfb") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 2) + .set("y", 9) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Pai") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "parent_id") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page:language_id,title\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "0b886637-2f98-473c-a10c-e020037b929b") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o para as Redes Sociais") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "social_description") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textarea") + .set("uid", "2e983898-f12b-461b-9426-6a0c425a2b50") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 6) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Imagem para as Redes Sociais") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "social_image") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "image") + .set("uid", "4d6c3095-39c9-4156-8602-a5c3d32bd557") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", false) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 8) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Ordem") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "sorter") + .set("notnull", false) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "textnum") + .set("uid", "1bc5c362-b3ed-481b-ad34-005c08815d5c") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", false) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 10) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Estado") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "status_id") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MAX_COLUMN_LENGTH\":{\"default\":\"0\",\"type\":\"INTEGER\",\"value\":\"0\"},\"COLUMN_SEPARATOR\":{\"default\":\" - \",\"type\":\"LINK_SEPARATOR\",\"value\":\" - \"},\"LINK\":{\"default\":\"\",\"type\":\"LINK\",\"value\":\"page_status:description\"},\"SERVICE\":{\"default\":\"com/Select.netuno\",\"type\":\"STRING\",\"value\":\"com/Select.netuno\"},\"ONLY_ACTIVES\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "select") + .set("uid", "52fd8b7a-75fa-4b27-b9b3-85d5d56d98c4") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 5) +) +_form.createComponentIfNotExists( + "e6c40643-e58a-40aa-b430-7a003ec65246", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "T\u00EDtulo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "title") + .set("notnull", true) + .set("primarykey", false) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "98fc6193-79b1-4102-a9ad-4e1c7d20b434") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 4) +) diff --git a/server/setup/_schema-form-22-page_status.js b/server/setup/_schema-form-22-page_status.js new file mode 100644 index 0000000..8e54fc1 --- /dev/null +++ b/server/setup/_schema-form-22-page_status.js @@ -0,0 +1,92 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Estado") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "page_status") + .set("parent_uid", "e6c40643-e58a-40aa-b430-7a003ec65246") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "814c194a-1d3a-4ea4-9855-bbad176f2c36") +) +_form.createComponentIfNotExists( + "814c194a-1d3a-4ea4-9855-bbad176f2c36", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "C\u00F3digo") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "code") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "8a6c9ea9-0aae-4991-8dca-f5dde6ac1a03") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) +_form.createComponentIfNotExists( + "814c194a-1d3a-4ea4-9855-bbad176f2c36", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Descri\u00E7\u00E3o") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "description") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "c2ece5d4-5275-4abf-a1a9-7e54d1813f63") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 2) +) diff --git a/server/setup/_schema-form-23-teste.js b/server/setup/_schema-form-23-teste.js new file mode 100644 index 0000000..6ef3e28 --- /dev/null +++ b/server/setup/_schema-form-23-teste.js @@ -0,0 +1,60 @@ +/** + * + * CODE GENERATED AUTOMATICALLY + * + * THIS FILE SHOULD NOT BE EDITED BY HAND + * + */ + +_form.createIfNotExists( + _val.init() + .set("big", false) + .set("control_active", true) + .set("control_group", false) + .set("control_user", false) + .set("description", "") + .set("displayname", "Teste") + .set("export_id", false) + .set("export_json", true) + .set("export_lastchange", false) + .set("export_uid", true) + .set("export_xls", true) + .set("export_xml", true) + .set("firebase", "") + .set("name", "teste") + .set("reorder", 0) + .set("report", false) + .set("show_id", true) + .set("uid", "bf825abe-c4b4-4499-98eb-fffc69ec0646") +) +_form.createComponentIfNotExists( + "bf825abe-c4b4-4499-98eb-fffc69ec0646", + _val.init() + .set("colspan", 0) + .set("description", "") + .set("displayname", "Nome") + .set("firebase", "") + .set("group_id", 0) + .set("height", 0) + .set("max", 0) + .set("min", 0) + .set("name", "nome") + .set("notnull", true) + .set("primarykey", true) + .set("properties", "{\"MASK_REVERSE\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK_SELECTONFOCUS\":{\"default\":\"false\",\"type\":\"BOOLEAN\",\"value\":\"false\"},\"MASK\":{\"default\":\"\",\"type\":\"STRING\",\"value\":\"\"}}") + .set("rowspan", 0) + .set("tdheight", 0) + .set("tdwidth", 0) + .set("type", "text") + .set("uid", "e9edbb99-902e-464d-bd7d-41a07e339b7c") + .set("user_id", 0) + .set("whenedit", true) + .set("whenexport", true) + .set("whenfilter", true) + .set("whennew", true) + .set("whenresult", true) + .set("whenview", true) + .set("width", 0) + .set("x", 1) + .set("y", 1) +) diff --git a/server/setup/_start.js b/server/setup/_start.js new file mode 100644 index 0000000..e69de29 diff --git a/server/templates/dashboard.html b/server/templates/dashboard.html new file mode 100644 index 0000000..ddf58ed --- /dev/null +++ b/server/templates/dashboard.html @@ -0,0 +1,2 @@ + +
diff --git a/server/templates/dev/dashboard.html b/server/templates/dev/dashboard.html new file mode 100644 index 0000000..6d3b631 --- /dev/null +++ b/server/templates/dev/dashboard.html @@ -0,0 +1,31 @@ + +
+
+
+

+ _{&lang=netuno.main.dashboard.title} +

+

_{&lang=netuno.main.dashboard.description}

+
+
+

+ _{&lang=netuno.main.dashboard.welcome_netuno} +

+

_{&lang=netuno.dev.main.you_not_form}

+

_{&lang=netuno.dev.main.you_can_start_by_clicking_top_bar}

+
+ +
+ #macro(listFormItems $items) + + #end + #listFormItems($data.get('menu').get('forms')) +
+
diff --git a/server/templates/scripts.html b/server/templates/scripts.html new file mode 100644 index 0000000..12fb56d --- /dev/null +++ b/server/templates/scripts.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/templates/scripts_dev.html b/server/templates/scripts_dev.html new file mode 100644 index 0000000..e69de29 diff --git a/server/templates/scripts_login.html b/server/templates/scripts_login.html new file mode 100644 index 0000000..e69de29 diff --git a/server/templates/styles.html b/server/templates/styles.html new file mode 100644 index 0000000..9698d22 --- /dev/null +++ b/server/templates/styles.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/templates/styles_dev.html b/server/templates/styles_dev.html new file mode 100644 index 0000000..9698d22 --- /dev/null +++ b/server/templates/styles_dev.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/server/templates/styles_login.html b/server/templates/styles_login.html new file mode 100644 index 0000000..e69de29 diff --git a/storage/filesystem/private/info.txt b/storage/filesystem/private/info.txt new file mode 100644 index 0000000..0b8da6f --- /dev/null +++ b/storage/filesystem/private/info.txt @@ -0,0 +1,4 @@ + +Secure data files comes here... + +Only accessible for logged users! diff --git a/storage/filesystem/public/info.txt b/storage/filesystem/public/info.txt new file mode 100644 index 0000000..55f3ca4 --- /dev/null +++ b/storage/filesystem/public/info.txt @@ -0,0 +1,2 @@ + +Public storage files comes here... diff --git a/storage/filesystem/server/default-banner-background.jpg b/storage/filesystem/server/default-banner-background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..74e106fbc752e937270787bb8ba10289f778017f GIT binary patch literal 217798 zcmeFYcU)6lvoN|t6A%03$#T;Q{DD3_As9YEJOm}6@Y?2 zt6M~X?l2z!e87|nAm_vShbi(r5~*}vMoC%*CM~ZdgHl2%0sw6hAl9KWXlyr3Qbs|VQ`+7@VcJz~ymOL*7TvWa6=jiN72!c5g z+=xEP@K4>na2U}=8GcFD@Vud)Cc&Mk8y-L~4L34#4)=6cbb+g?z%E`^y6o-eO$c&? zUH10!2~@hQ3_oP91me_eDLCwqB*;@4ZefUpY5E2bV6u|3lIP)I?En{7B@->}zw3f` z%J9EC85$ZY87d>`8{j4-t*EFdbsi~&L`r}Z5`kepL5`Otd;-t?!$FG>=o~=w3nKdZ zz^EJ@oqU6Xl;L2@hh6e>_YLw5bocf97xVwu4E(G3a321t1di&zCjV!`{)5oa@P8)t z_NLClVP67+&>>*g{--AqXcp#2kTM|z`UVF$6VM?9pP+O9RCjUyS6#p00I$R8adDO+ zcoDoovOsVI(qL2n8j+Hwua|Ftp|1-;87}jm`4~-2Y=EyT(F-gHG||z3VbGd#(u#6& z5=cpDYGZy%hTy|&`?R2 z7#QRm5ccBN4T1!Y&eTV!4EGE0bqRJRxEwYB<_G$^28B8X5Y*kkK`O)5 zU0sPj#Go)3mik~}2t&sJn2aHx6hsX2BK+Mub+4d*_Y;&I zB`-%GH)Z%`2^WH^W3X2cTt(B+^bbQX;y zO922bK8O`S%PXkE2YN6x039Cu-FX1;_6Z808lx7LRvjmU_`KXokD z;E?BkdD)#g^pk)|2`aDulH|Y7Jn91a51^yP2$HBc`vnAnIMw4a2o3V1;^`m`b#`}j z0r4sj7Y_hC2;x)Je5XJ7J1Xw>2meLI1I$b`!LhM{ILz%oaHs#ko!tYxK^k!6fPlAG zFxZDfpn8lf1RuO9n8Lvy9}ozb06KsM00S@p8qfsf0BJxGyvhL*01}V{?|}cNK9x5g zUnci2rN& z-3PEU(kUDv(L&e(8g>XRJLLCY-~$0@!O#IUdhicGXlTLy9$^GaRoMU<8VD^d4IMrB zPYY@l0HI;0J#ki=P91mBksj`!3PqY+D`wC*XX?~=ghS@x=d|%x0-6EQTb#~A{~A<-{#^0H&oU;djjuSI#LV520!1RgM!{tULC^poBsMU%0svSxu$UTP`2!F&wnujWH2}&+uZ9Iy&0B3l zi>MT!o}!80O&@&KwDlSX??52}AZqkFhWaMnGgEs65`b`^XQ?3oEJY9!6a^hFx;_r} zv+GmL&J|z%@i!Kqzov|56OB!NJYZd2>lj5ZjGn*2_N0tf4b;3Enp0R>b#*oRXGX!b zO{M0a=F8zkrjJjQ8iMwOKOfY}8T^o0_1oDxXj$lOe8DH(LCEMCH1HpI<=r#LJ@h1- zT>yZvkpO}zW@yUPch>WYT29>^#%n+{IMyR*zyuCTJq%E19X4W?_*LDOHPziUMuvg& z0IBCZj7g3AvoPJMAO*}b?m4b&$SGe8rLERln=A^O3SD^G51=fYl#G| zOvVa=hCe}Fn>gp5tKA?ASAw-Q8?+7Jx{#=(cN}JHIm-_na0ER^P{v5PK*SA!YnYzl z+wXyzt#DzolnR=LaE$0X2XqG-Z*Uc;&e`~wzk>0+8A1pUt(d} zBZJKlB5Nc zn?*i2+7ZH=9Q~0$qn@5(GJlU{;n<|-!~A}U`zQT)xr(MQOR0O&z#LGN*`v-VA=g+} zRF(TM8Gc`L+t_h2NY)ttCF0Up@gFGx#X`1Hzk533GUQN34#fl%l^qZP0pb291xN%M z0CtEo(*g7Y7^gftg-%RG#mCi4O)uMfR~W&MIrisWdBvlOXakbI01;f)@j zVAd|*3;n403&swVhyZd>=~!{u)B!{rjHsw?(3KX&up z`N;Z8RN6JQ>@v*9jFn@7CAyedIXU60JPFE}L3L8DJXV2C2fZp4Xlm|&4$$#J(I zswMp|egoK`j=;49r#Jbim-RlXi-WlrR=3vkzMcJ4`LUzn_2We6{-pEKucghBpAs@H zZ5I~q=Um182A~hPub1y7@%2bvyu5GmJ||vp>5I#z^$+CU&;02?^rI;$g z<3=VK1MB`ZSCyZ@a+tE2N;yo%Q&FgT*20tsT?9z<4>%kmOqOVbDy_lxwf=ip+l|T%2_{oH+iSG*`xes2-3E2dr zvaE94v{6HJ#9IsoBj@^$2qr1Ld9gb%(c5hwFw{DUguzqP)u1#EbPzRggZmQh6SY!} zFqt=6n)wZk#@F9)bpeC`8b*MT4Wfx=DMH-0c$+IO?POIcR|@TJv+?h=JD;{t^>OdT z!>i{$+l=*Z8IgsJ6>F333H0PhTG+Tw?tV!iO`y_CwjPP`nPn`JL(f^~R3^s5=mhjbXib}$?VIU5~Hw{iRz}9c5yUXZaTn&S#R{5g?8eTjIuC!_7+@+ zY#d5%P%cAE`;ArXjCen~ZJajVt29be^x=mefjhzOFYG02x_X7e47ZluF&pL{?yz$x zS;EOdL6e3f4cbQ5Df%hgL)Q%!nr_fEoV*IKLCugfu{ZW;)VLXXxbV5f?;F4JUu;>s z-qAEC-t?n%$0zyV96D$`89&jUp^-OLt$0Oc@Okf^k-Wsy)}!mq)o0lEFW6p(|z+a=rPG#(ns{u2W#*+;@?rmzy#kcSmy=xc&{p)UI(QiJC0V$at*>A+<#|8yW`YbL@0W zvQmpowjugMK_Y0%^n={ml6RtZ+Skk1+?DJM-J$oh)Ibz^|0Z5aP);OFGBIBY24-TR z_fwSYH1eec>7~x1rOy3L#2dyax2={R#siW<%I=fA*FZuphs%yC!Oxezpi)FK8e|*fBXCfVN10 zp=EL^cflj_WSJow6vY9wfd^TPY{!jW7=eRA0L&LuSXIbp`ol55v}Fo)_!`4XkJEU{vD&;Xa>LX(s&-FOGV4`s&8_}$zGvi}V%6+|$cx{^_ZG$X zbHbSB-Vw@xxlVCuyYf}CuSOQDxA)1q46?J=WW1o$ZRHzU)jqZ&ZFjU(^s31a=S;-2 z?MJ4Gvbc;3b%l#rQM8r4E zOXw^1j%DrY?t`+mZiel8Vj74?FBaMyPS6?IQFz<)olSH1sg$Nu1% zx!wsIuJ_4{UHiHFoXKCcJa@gOxZa~*Y|8l@{d%^3u8~qdb&DI!R32OXDQCnKs;T{4 zNS=vEPW*X6D6ynxT--M9o7Q+U?wh9CEkM z(cpFg?gja_USL8CDUXm^&zjW&@naW;IK&L@mrV6rhUaxEc`099ydo}X#Do^A&kgqd zCb^ko=Je~YRH@S8Jhvs}(kh0MotbgwY5a*F=5{y_r>7%o#Z()dD>)4Q*Mp3#FPs$! zcsATQ>IF30 zk#tzl1f!mRA{I&uSgx2WezhpirL%p`=T<&+xhu%BZdW@@pghea!3@6OA$D^^e@RsB zur9b*#(~2F2MKO~%%_em;k(|%0ooqavxlSI-B}VlA25zng*Mq;ZRGOd-bPQIm8-N6iq*)XvndS~MEIPd$e?Sb8{8T=# z!4A+G6ldVQrym^czLEp0RMY376+Ee>uEiX4?IBH3bSzyw4ABLkw6yb8RIODmTD?lP zNe^BNKD8XWVJRQfsOU&p%ahd(x3(&M{7tL*lI~~`0a}7pq#|a+Enb1-Vetre|T2yg+5x{SDtivJoSiUN>Qku(A?hLy~H2T z^!ztqPs#4h8om?fTGBemb7_&1;4DhHb;M%T;;X{6r~cKq7q`Cq4rVrh)w_@h|J}`{e$kU5`#@!FrYn7WY>jC$>lGau( z-H4{z+GEY95oVqF#@vll{M6&8{+@18!nLu5SJc)Mi;565>$rkBW&oOLz zlCV_aF5!JrH%kt$@AF8o=LzR4rb;zKRT@plO8o3h7SW$aE~fjW_K?>=$}-G^fQGvx ziJZl)BQ8G9yQ3qog-qv5s!yzM9aEJp43uE<$^7f&W1s-q$+gdP=f_GIAd9U2&IOhT z=Y&e(dC@sh=*p{0iv-luZntwv?m6%We!o0l0_tkOp_q{z{s`NJ`Py#?|8=_Bk-5wY zgiUPyOmC5DbySJUkwxOXG92G;a(d&bC4P7_UqF@(AziJmUkr! zd4B_Jzk#YB_V108^=sd$oJlV3D=pWM#teN+ul000z7}~sN){TM$BKS5E=kM?EnlYDk@?`G(gQz*kSH6dX_1YENq^)EVv+V zJIL9ZH+4j~cVBtx*O8KB)2vmCFTsj-OyUaZ9%6!likKS^TCFf)y&KwDy;i%|Xr^>GzUwDXfmLBVm$qcBU_cUiB<-rW z&g*UYVX5`9Ehkm3wD)7bI;CFscYo-*J-}9=gHSg!4Jq9@lUDiquNQdPB}=!=!g!9W z$l%$lR)ujQ!IpxLHMiGKZVilxm)>;w>ffnI9Dh*$(e-;%yOsWGzv}HL)AK)1Zo7{T1`)?W`wuKx9_^Gwp2 zdO1}g%%dYy#--Er#BQPxlBszm7R=AIFdccxshEwCfd)bXMVtyyRNr{y*1h%J!J2%jzDesid-!rHMY$-Ejq6m8 zzSEP@MoajDnbn;o8R9+Nxx*^sxZ3ZlAL9mV5~cb){q0jD8Y#*ZGJajSkensqgS7=+ zI0@8};-U->$(e!dMRTnMGZD$`mKOq`l}kG0@b`rqj1Pe7c)pBn_}|$yaUS`?S65)C zz?hdB6aY|W=V_|zUiO0#FvTIN#?(!G#tA?)fd+sF;a;4f2F<@9ngW=@*#IyM1qW#Q z2mn3F0_T8VhRNs=InZ#b~PH8DuZiEMS|HHFwYP&F{0t-A_)O#LDXm^Ni?E7pfAa-#x_iI zjVIQ9F*=b(qJKje<2rwLQzA_%@UA`I-M7NRzGTi%3jvsSaYf!N4KixzYv};;9TCyd z&MlO)E>ps1_^`}!0#_3fgqAocpPdjYkuufJ(z9;Xm_&F)-WdO|*l1NZ96#8aS&`2k z?-wwCuT%O;Q|5>0rp!%bsnGs)TyEx1Rz|N_;>L+;|K4*3WC#5a0c@wJh)q6B`53wE zg+Te@+syFb$E>|tgZoU^cJze}XFP{WO*(!xE!=pXm3(ma{@zj;hjvY~f# zGzcd%r4wpoO!32Lb9LQOyyofh8l%#+slh8VK34CU76$eeS`$&Z_YPh!$6{W7U?7yL znXbgfXs7h4L1{}UtV%1s6jXS22ocjIG%7mOGQrD>%6ycc7~SXYCEYNyHqU#NG1dzo zIk(q7CIkuu0Kj5EO9)bQC^IyqBM!>OBa)NY*dpLa^>>1ydi8f_*CL2lBme>mhEycLNH6Ih~JSh=8Oy+%sg&TENdk7SYtF;3yh(Gx&=nW2v}OtXwtO? zfop649V5*n0F(veFh5IM{-DL51xJ)00iXFki$$NNctRFFI~_`kxI2-st%r>sQYc<{+rs0^Y3yOMa8jn)C-KBXpC$<=w^Lu9wV1$ibZ$@UrBBR9; zSCTa{bRxdtEiTO(3qSo%bkXl#HbyThcG^gGn{v;0l-zSb_PJ`o(GE!?jM)~f7{g3v z&t1)R^BT4I^f2p<&c(*yfu5J-Rb@BBYp)(oug3`0>P1LZULVc6&T?-fWL+#{NdKy3 z9WNoZhLG@r!FRNAfs03J$f3YZG8fwDRE|q;y-@e<$DDtr(Oe+roY#ygI$qq>rQuZV-FZxui#rvmuW^^Ih{zx*_grPUmv+`h1 z6rKO}ZLtLmAAn9rwV+4BlMe2_2h!*9Uu*U^%L!oAlN72X$;&2)|8S=EZ_Z8MoOFIsokW=t_j zHWeF@uaRS-BnB6KIKYttz`&gd-0gP1iRK_$ENZmZ@bIcgsAv<+h0z^_zZ6iNDN;r> zin*pWX5cQ`bQXCQ2hmi=PLKt)n&6h{aNsNw0HPb#3iujE;*1nwQ>B8#o}G8S2R@#d z3+0;rs@V0cQW!T)$h4U|UH!~x!CCy?rJ%NDFI^HiUOF7k$OMCLx9$=z1kkjMYBK62 z#T74(C62fijXSuH1-Xj~fjcFf)`aAR@?c2qq(w#FcB+Oy#T!glRpn%G@#}(Mu6pLaK)B+;xvl0=&PMrLlbDxA!zyz<(IfK3Zhh5dQ!vn)c~`ak>Y2%3#;Xe9KF#L_ zV=e_4ynXX*?^ozW*A3&zGw)Tdb3Im(nhNR&5O26XZ->h>e9BxV zU-o&XC{hnI(#jYbk&Q4FSpq z*gbdov`3={&~fOFR+Y(-a+$g`olaePCbN}X;O6$Fz^)mL8t>DZ;k(%E}#ZJ zw8ISsOb?v|hI|y&K=~g5bp6k>v4BoF^(E>H&0lA?e+gH-d!aM=ScrSrxH|4?h1O5~ zVIBRv4uhcX4@M`!BVQ_jM;6p$ktZ}Uor?|Og;V)%kHbI3-tA@B3)~Aeqzp(M9p1Ld zl3d>0{U)2AxsztOxjr*PFsK4(qDe=<$T!FWkHU_zj78p*%fUQ&KVApAEZm}OCx$d& zj9}p@svlT`h9;s-WI43c`?y&-Ah?^4Or|;T%@MuD!DHzpcQmdwF0N^)^?V5l?=o@H zj`4PhI~+KIm@t}obC<&13>6}l8^S`N)z9avUgK|P1wnyp2byX z2Ak^P+%R&YiSOdDP5yYn&MN+MUM;sfa(qvDdo5b>4EiwF!I!MHi_7cU(QzL78$S3e z!aJ%14UxR7`ttZQp93@}(`yzb>V5;)pa1G*{c?G4byIwCvi?9YxRCin__Hk4$H>P* zMD&lQ=((*+pN5iG9M`vA`EN%(Mg}jeww_+|WH9%{i^kra(oaL0)FQIj;8?*}F{4Mw z+xidX%E|`DCff{aW;SNVF)AmPcHw-dU*Gku^-ieOmAKtFIVEnnPK`?TAMnWoK@GD}0X)$j2DkwzodT*XFQaxTOg5=JSGXg#U%;-l|SCbyfA0=e@8Z6R{sjyU`J zkIybF27x#~e{vRxsMrVWfEO_P`;|c*x9y+T8@GREl{U6_TsR}uaY4CfP{-L-ddJg%>eUkzS|K=VMMxb2a4RbE15?+8(t8RX@OM31r z9uyK0kyYA^|L9r15eaf@{<||$)VlLqD+LCDLyU&2H$Bs=wfCAW_CA^hPRV*L+FMRu zjggy+ky!`X&_k_Gan0Lov*KCVkv&3=c1=l_c#`EkZLxCiiDIZouh=a4h{=Erw^2 zbZT?}9V7@i`KDh325KkGwR1Q#BKSnGeXI-~qNzor>i5KvL*LB@$~^hJcb0e zdsVp0(+bxwaej`^K~F}lRj>Nj#kTXyq+b%8RML-kZ5fSCzZesgsEV8)QEql>p{(-< zm%X+!)D9}^sOzV7 z=`bNV(&p(NU>-8=^^IjBLxepY^AV~;icdJns~vWB6!L5mSt1*S^o~$sDu4LGA;bT{ z@Cdu7|2uZ;Yh@U{m&a1$G}1Gc1F;J_`3G=Izj{sluZ{(b6yKb{2fWRqQF*PURW)3Rh)6!HSr3O){#g>e?=W=J!}Ei2<~X zcI!qOVnMZ{A%T~_q3F=>QC7Y6)t2U6^Ug9Gg|A#Hm&^3_)Yiyj8$GE(74CPBFN(j) z`we6iwTI19=EE>O?A>gA@G=dSn(H88mL-vD^-uZFy#*7vuc^fwiCr^12`5a|0d zQY|>DQ$CzjSy&mxnnXW=4i*#3eIMNIUq4cr6#BsMqyJ1dUxgVku4y}hIz@vzg#`e0 zzY#K@+bJVl!Zb#>C9AW#z+yyjw^>YC#^<}McWZh!Rtuu82GAlL4bGPIqddSZi&nIn zQ`|%}rsq*XS`HJJ`ncH#$D&6$<{oE%!edH32Kh@`cwT!;3i*h&dE??yf|aA(V>v=8 z+3YN%TFpvKsZ1pnH^7n71B|h1uu~8$he3mlsV~8GD|bim1|1E8fYy)9CK@zQR|JaVPeJ2U6V+pN&y4Nr`d4Qqrm zI+?#`Pd?^?vt<5kQR(U9TKNhD4vKbUiHA9%c`{c>KFLr;ip(=PE+x`<+^K(J`m=Ws z(aYi%SCh5Zr|W*j`VnhgTAkKBE@b1BQRcf-hAo(x#q{}C64Tq3xbVFEP?niH{ujT4 z0k~6&LptF3PDJ}0_wZJ(fP`{)5wUWYXpd{rGwTpF@$`N~OjzB8jSlurcRwXNb;^2&F9CQ*f=P@C1E77mpGqLjwjRUnw4J6}9cVg1n$KF$g2z$ik(9j`_oHus@_7jVmS3voFo33< zM>rqRG&HFGqwUvX7fgB$*kP&ZQ)fE@#U zF)udOx#M03GIToo?*6szl>eVn}85GKnT_C{g&j-rGn?dv9;Ye~UPqowwHRxJ~63*=?8 z9>hJ9K-XT{z_{$jx`H8w6Hlk~;U`0GR%xrLfm+0r0wXclg6CLhF3#7xvoGcCZZt5% znGwsCl*){aHraC(r!SDFC_i*xMcVX?hKKuYJ+)0=zhBoIXxqhetFgGmp!QfBg2%xq ze^2~cOQFZ?)OD7|&<)>HZ^=iFEb&aH;KXgkCWD>zP-L@v^|uL>9|grO6eaY;>Ns?( zy0Z@Bv-$nArPK(g;uhNUM?oQ!GAQ@?x)SlR&{$IX?wamMVfE#&Xn!Vu=GuMQ-8Vz@rLoU+{vk6c6aDCYDbklV$tTa^b30zOGt9wnbe!c1 zavoPWeKM0NQ*pmJ{XBY;JL|H-+?uU}=jA6^;+%nq`|O@X?8`HTzk!gE&!2+IY+vm> zYZf^;y=%hTH{AJd2~NE)33mQGbl+&$NQGPe z_Pj8nY-b=>uz6+ryOztUgth#~y94tRmZ{=#iooi7&xxZC462L3^F0I+;^~BRp=HE( zV1aSEIcPRpF1%v+BJI}m%m1hgf{Og3ymYkS4Hz=u2e6>JVi`$b+z-q-1m;tWFnHGi ze{R{MAISqdP48u2rAwO|o-WY&YyZQ;yIuu@VtBhXMiPVsVAY`DKL@BwK%W*1Q1mwk zFackZhH5wF#Xr&7+&(9?AHB8ECzs4Xgp{(R}!E_wY+B(AFxYJw_ z8?ri`vC09CVEp<3vUO0qqF?t5dcHH*;xv=KfUH9Qm&(PN)B3l{!;YX}Mbx+lf`FT4 zAewb9mZUvkFH+GUNemhb>nC%>+~%<{t(XYz&q;Mkt%klM;_32A%H|V4PIPG(33A-i zLrz0?Gw{VFSxpT2ffWD8ulBlbPCI2b}tVJw>U&oKq~*ZrkC%H859!sb2Z^tkZe!}yxfcMf?|ZkhEOzM<#={b0;yvT2e+ zS3<|DG{v(_3e|(R1-@$yd(37V+9IzGDm^htyHQj)BI+H+cQ-TAG-D=Z{03AFOJn}M z)*&(ZBA;01hil-{OExT#Cgr?P5waTYgr#+h||+0dHsU&|DhkZhHZh~OQR zluf8ux{MmKEgctcTziHmr2E(UEZ>lraK1V8P%LlZ$}^RZFK-LvFiQnih-f)?P9SG$ z3~fI>PnlNc9DaD$b4Y?gx1K&DX#B${i+`S@#cDY*+UVXl&#aF_@9wk?UVkLCBqVX} zR_K~wP*A7v#Me__91HR~%4?AKcm&BJHE(T}v^LnY(Q=RA3t`%>NB#WtlA1Uc&t5^?wg?anckls#?{A>OW$iL|4 z@1P-f K8Y#R*=wu5vi4VM-Tb$<-LSvahZZhyQXHDklW^oReg;xt!s5(ST?4KeV zFVazi7$E%PHljcrI}FAMlziV9)@%rGzyN?m2S7nHmWE141!@d~x-FZXr`~~EbQdED z1~|~uQ$MI+MrctPVjuAXBrw#$Kw<_?f$x>Fu~Z#xU{_=1V42{chf=LY@Fi&|vY15T zrV%u8(d^9-wb{nQK}&U*4UeV}H=BD#lxp7ZC0pmd=GUpqcT8xhDvyWy_X}=9Q|~u* z+D`g7pS>3<%W-L?eTR)jl>DW$?yi|Whwc=yO{i30(JU(_WNTfzyV)V4ZKA~PgWlkg zG!N-ZLKH4;?5#RLmI+n|nVjO|IDe6FtqnXF7a-R$19Ubz9TXZ*^?WXZx$?=B|26nDMU zUe$H^YPxNYjkH%|S=-T8B0DSmot1Xcctj4(!BGwyo;cPgWpkY;n#p1!vL`B{Pv9R` zvs+nKGoloFFR9W! zE6VC*r2cVhvVf20iTN|Vi_haPHox4O(8($fQOfmYjLbso&n8GLoaLZY&L*XrWq4_q zUN*^G&RXPb&D9TX2y7jd53z`yT*{ryzdg;d93UNHz02r-Rc+E^rMh%IB2fnI-Iy8T zp(l1_AbZ~W(uU`&%#-mI0&>rdzFyGp;hAXmM&I5L&+J&4eypXJ3u~dAh)b9-nh2@A zI#6t7b@{8uck;?~z|zZP*NOPHy~S)izbp4nkGTPNOZ6%_p=AhT^-Wv4S)?`4!#a^= zZ7ErwT?ntac#T72w)mm?`@A&ftlDZTIOV}4!uAz!-}5_#f^+0=xdXl1q6!mdJ?YI5dPugGReFe;?_)$OAS z+b2)$SZ*43CQtvyTyZlbULRh5?Nwn?ga)`h{q*lmVFTqIwDv%tNmkM>w9@mvWt=G5UQ(DH>AV;kQpEq!5AyBu{@%u0DA8$F(lyoLiAE3 ztcV}rxi%z_)VZ3FFQBPl9t}w&6)~3GIHs4+ISPik)zMH`xf*!B$~MMAhb4h(2p-1* z!!fjI%_4wVloW#4SmH(ePVn#%oBrC(JMeO>_>LrFgFHwop1f3OX9U z^kqk0u)4X@OuS2utVGlm*=H3kN!0Zw%2?Un6I#Xj8}=m1Rkn>prvW9M+jvo-6iCx! zu8E5ya>{yEc0%v*>tWihGo#YYh||j^W}1TR=Mb507!%a9CqxNR8K;xl;>-yY`jdJH zcZE(3J*+q8f?>d&{7|lO^vpBYBrR`suwWDJ}`^x*^X83S@r-=*)M*-!3;OCN`v!{^zxzt+fTj9G*_%l9PmNy zeoP&)rA%15K2xw>*8j;b{b;HUebK}Qy`T8G;?<9U`Vpx*o>xZL9!2Gr-p1TSd78&k z69)sX@|0Ys?G?XCd%5z65ZQr7uRy|$tli$m%X5=l2#Zz0{ltSo8~=Nu2xSq~%_yg> z>ftM~t7*X%_J?R&0?)yVD2?}J&70E`uSRkOq*n(OjeOGdGkEapDipbS6X9;e-BHSJT!x z5YOtWuf(6f8<3Fk{(H%XcXnLw7Hy_-@Lcxl1I<2n*7`+%HT4#)S}rOKWT3#>ZhkwM zk0qo26|WlyY+nx%TxXYghT?Dq@(MD#@p)!OX;?NH32> z`qy?;a$Pb?b(Jl^>KU1aJD00)MGs*oG7F137Ebyp_aajZ;Jn>!S9GEuB zx6;c`GG7>-TJ;P$7%aiu%WLZ7TfL33_72r|`fw(*q5aMI@4l`FgS_X;S_IEb|2l!$ zooe+5doxfL-}UY>U(}NDuJS2^pn*$LG0jP$^Tr##7QZHW$<&@ITJo1yMwqPB^?}Yd zGA=GA`@?k21FJ7regmE-&}deAjlaO1o}J}M@NsmH@6@!O?80bLOTxPOhvY!n6Hi7B zIki1j8J;BdM1)bc|2))xPZKNgk{B_PxdDmdTd4nuJU<@|G*Pzrih@s%L`pz$h7p z(%NMST{IT1j!_I&A5hA*vOd`CE_srXFH!qVmL4-47?77&_Hwh^HIpZiOAj#>hssGc zREjs0st;%zt*3R(NEGRI)U*4wA*!<)+HWn{KDgUtn&K z@qR;O<9*DPXLr^uJDhjQvjjgWUU{yQEcx^9qVU9eX4F0Vz}_s8dkKDpdN-N^Dy2H# zOj{?ZYFHvG@4x*fw4LBLNXazF=KQh#P3XOi{|`s;&NJUeK6+Ta^&5Pr9p?Gv`N!aF z`}PYl7k0`o7QQk54dBAeUL{Xj4Ev}SMEMUlgY}iR-~ZbFnK*sNd1sl^tFfZV_(SB$ z;0LGn<&z@G0qISn;Kw&3WK*%yBvpfE*WvsRg^S(QgJ()Iy&mMG4M_zPmdFuq7M~`Z z3(r-1lJ`f3_v;4FlnzZ1g3{OZ7Xx}-9-k>&8&zn@EB9P%7u)q8r1%XfN>mE|Bxn3I zXdHaEJ?wooG|D8P*UN7pQgN{feGn#l6*IhF$-Q&+eziov&#VG_udPD;k&Ckg4zgJ= z8e_e#aw>b_efhu@uGdJ3#r1Ezy*^fjm_nTJ{>0Cm%;)3;=l4d&#F3BkCaWr$UtILV zMm~CmZWhQ;j>}<80<+pyLpN4cQtx4YO=dk<4UyvBF&Pp14ao3)xabs&S! zG4(^rD%{E>X#eSUCDW#K<|S@Dp81%~d&{O5KiD{4+^&Cm@a7|4;Vp$)+DfCrJiTm6un)%h(<(_-hGJirh{;I{2C-%a&VNAkJIFn@bil>I%E8S})aa!8( z(Pp-TI#)t}V#jokss-tt-|=<%Kn~9d$lMN`-+uaDiM3mP7nW&~U4h|f zfDTXt-4T!w7$yNcjNoULRX)`wq04?$yNqgmf$z&=+hGLSxkzW>jyf#_ZVN zwAK4CQ$F>fGV#-P$G6p7`K;42c7sf$M{PI^hxjXg6d$$ZfGe+s}DE>IsUX?XK5Ph!{Hn^^TWwO39bck}_Rar2ZWolb`Qzeei6g;*kb=zN!m{9wTz;1>vDIQBqTO*}E}Lv95+0 zbi$mIX-4FVp}|1nPt9|v*LCCfapN)iyi2FE1#_H5+QLK)o4G$&VNm@qI@gBL5(z;( zH$UH*^3caql$O}9z2RMtOC zB>S4Po9XDAzh)z%x#%WazEyM}p!%qiL<~Kysuqu5oXJA#E}C_~rpk*vBnRRoZ**MI zXBAezA2iCLgQ*agrFq4h-otD@tQxIUyjW<&`oYVal^AdQ-ZQD#qwDhOkRX@x(UDU_ zCi4lslG~E+_0n1Hgn(}EP(o>8$gWI<_XXmo&MPvP z?x(FaK3fvp_|T{}ac|u)nGv3E)r?Cg5EpE?B&?dfY(u2Yay=b?Fnv}(7Bv5|5FTL* zpPBNwS$!giBQvfi0ci+Y8zLoMJo>3YT|!T2ZlL9!R;0~A>5;H{xH{`hKX{X&Pnd{5 zTN=L@+ww@{e7yBF-RSwEST9jt$@Ix@q9@_ebWf_thTeILO6g9JNPk~CYUD*ss;l<;{rg;z`Mhj^TF>X05*s^XunV;m;OA7D#GW%Z^yQ^ zk$Dcel_IuMq1LzOi%5`k#w3-@fXl;w`t<t~mp>aGKY;Rw!TkvCmzLGZ$Getgb4)CMw5H_oqEvA{#vAUVGg3XaM=}*%r#p z=n_;R6=kKH17$rKYbbD*WQqUqOZq+KMYHVZ-94Yr;eIQL7G3i{=}eXz(F3C2R!UlO z7}D`V?XsK#Q$&3-mS~=M7V*&*6&_jggwL5L)O9V|Enc%)sIW^iEhKO3R<&S~5!Tps zTJAwiiKvX{k+O7?fT<1(#*HOTu{O_!WhrzJk4iGn12wwX;*Me+}9= zBdTS&@nySFCd7E2*VZM?6&c-_4AgUhEB(iiJCjysb>{m$PiNm+K2NKdsQ6kQ)X{9x z)Zs0Bs{1N#lKU!md4|pMsQ!p7;Q>XApXm3LQb*Tn_l9i~E%^%n{+s!U{zr!OIs0)V ziaMri)h%VEiv@RDS;rP+iCyQQh?nbg4XY2H%uEvSBXI8mZTEz=_k#ZqQ||%K))&8z zhoV~5mYP9_J%W~?w$=<{@7dZhYb!OXs;yaKRAQ6Z)LunftC2<#)K(*{D2m#vzw7h; z{{H{peYwfWxo2GDyze>B`*}adOw4-2x$0((-w_;$p1{>yF`ujMe6*Fs)60~tU+L`&F;@?i=!uOK4E zigtvzv_VZ)`q1lCy~|OWnLiD5GuEUe>qR1Wa+OB94B&s?bG*#>PODY zzb`!PT!J-zf}%QFD1W)^st;Y=;F3-4*$!ZKKH!i40td*mi`**5nW~;#8oI1xT*dOAg)>d$r#V(@KBADK-elkYEQN|1Z2<~& zHBqZvYcx7lhFeU;zxa*EcpQwkMNxA9H=Vz0 z$>HF@`kt`;nFDxqnrdE0UwYS=G3SeUpZ+98>qDp$mb7*Eu1udl+h6SMmvafUsu{U@2Z z%IaIBz4Vpur;2CAq-0`Fw|Jd#@0tC!yL0l$6a1R&LPvqms-4BD0B7f9>nG)-$S-rs zFkk$-1fK3B4@m3U_#L~hE@j>g-W7mEWUmc8E5I{llID9+nM`BHLM|}~LFLwpv>e3! z`TE_3d9Lccp22XSF`}%)&%4vB))~q=r=7#A>hi-U??_6C_Dyjia~phf${ID(HeSx9 zi#@+YXVtBz{bt_hF1nw-%#gBTFY`TeHD6~;vpW*>xm8?uTEv}rW~Z@rxc^4E zhA3^i`tl4OyLIGfz9vKM1Cw>!$*_N4a*fz3ql7e-NVC5;Q7^RPUWbmiPy0}0WM+g2 z;^-#_THyNrfdom(BRFlNXd9mypBtu(h&{=cAeOufPu8lHXco%F#NW@r4W?{k7s{=Q z&Q&2Ae|U4{^nVJbH{3qpUzh+sioLA4@MKK!1AWi%)TU06st=8Kbl?wkbVLk5Rezv$ z$&LDf-fJ!@Bg#b$kBXZ#W4PgvR-5G=iO0TX&3wHseyx){g`S1hm&2oCO?8|YKc`$! z2`O2!8@kYlEnDsM>;M>kAd2$;jMkq6^UrdB;;IWyluI&vx|g2%8QVk5{joO{>i>Zl zKKcVjA^$%U2cmecr=tzy5;G#G@c@>NvJ@2P-NI_U0=gTOPq{gG|F2`Nt}mVzCv)jP zX26XCG&f)ZK_G_fpr}XxVIZKm%V63^)K?itK3g_^h_4O$#^MvC@exEV*B02DX>NT$ zLHP)PHZBN)g03@(fZpeydk82VU;StX`lt>V)~H8N6A%<}1w`W}QCR4%R-sin6#&PM zjImDjNSM8m&i(qe&4|0&;uog@P7vmZc9-yQ`40UD3UFU?nk?p*=89o4AW}pfE*H$> zHCh9Uhpao^oTYshxiPmljU)C;`@kl8neVS4WLOc3IosAye%$-DQnyiKjr?N5Cm1>% zIs%y~D=8w9EN?d-X7Wp*0{bd>n;0dR@mMi!0hsgx|7Vm`Z%7rKRj02C{uB~l-ra1JvMLtAu?ADY#tti|L=eqX~RAH4}W`A?f zrt%-CftaTgo`4cyoxM&RKQP*{YixT~(4oi{;$rNhsl?WD)Dp=<3gOGUH+`isWSQi` zrK8Qg(opk=uUH!82xY7NmU;&-_$xce3Gi5DYh>@lzQG1qX&@hH`hC$_`P{6YG|^x3 zoR6`?;wXTZS*woTfecQ`xmAjsMZLXGfQ>kh?9>)Lz@qij_Q4*o!Y{XIV&5(jw4{un z2&<}0M1k~bjT3EJq6SJ^ObmrhthF3~?n$wiTFexu{sZ|NdDo|pPW@bZgLtJlIYPR( zDhu=5NDy(%n5|XFC8bpcO@gO$4R64nxSNT{)EZ#{0#&Spw_UHRFd6_LNk*nW+{p~H zVKI{fdZHz*g|>U?DJ45%cqUSy(?fUj!QS|0O;{#BXL(48pq_%Z80r*X7Fs#gG!lkN z;3(mGA+HUeBaFV&2@^9$1XoO2*VI!S78h$zL!elWOqO2C! zRp7DFRMp4y52+2AsV_y*u#%1T6e^nl#a!&(p19QwPn4lo8Y`^adY_x6f+i98_PSkG zVcb)>lp5=NDWAWY0t!-LfSq2xd>ig<@C7U^-QB5`$=)^?ksA#cDbd(qwSM|`*;Si_ zd($dio-na4Nk(^z3!*%-#kFhir7 zZzYCBo%<71{#yil5qD*e0#gDG>l`e(7Ze#iOzd4r;C_+h@_Q1LQO~3PD+Ibr84HY7 z0DoL;go$XMWWZ-Bh5rPU*)6KPj*H3WEiNBFM)ixyxHNGzO>cR&KNDUTOYC?~Zq<09;m(#^C3Z_Ul@UkA!YaJ|UKAfV&2=GL386_@FdIYZz6ix558{J|LNK|F zgz@+NhQt>FCH#Nffu-mODF$cxzPEp@_b{x6x}KCRF}9T1EX5wEb32QhNA}4Wji+M@ z^EUy7j3qtOt30}7#+S8NZyur;GA_Vi7~9eW_FyfFPSeQE4wo5?$7W8{UBRSU7Z0Y& z&XhBwQI_&nb>%PVSzilRJfw zTl3eALVRJO%ngI~U(Za>_$3}IH~s?+;~_psKV^%9yd9s9Z8b0T*Z}k0&}S60I8|bM z*8goQaxw2q7Cyr|b729`k$fDfaH7vC7f}J>xj%3((D%o2?lTwJfSr*2w5P_Q#mi4m z_jX}r#gd|o=}#;JSB5R$_6-+$gBOgJ)Ak9DbO*{tFxgIfqOx+f!iG3arJ52%Bq@3c^l4m|X zYqoG7x36CUjGfh_0k_3F>U;UdppqXPOegdl!V#B>fp^Nh=a`9-A1G;|1F`3r14me` zem7V;;N)JBqt0euVn*gdB1dc?@bSq`*A=%JQ3)XP6Hrd$$H;jmA~P21O)uUJmZ3Q> z`Rf0<0=Q#Zpj}t6|8K$b+T8|71mCyRl^L+}GYL1~6{z-WF%{+ZnKZtS$dS z3vMs+@$CQH&kLQ+0dySf!1+yM#imu9np1e9P62>mBPxCn0%7S~l~LZSsn%w*1DvJ} zHsKgV216nuDBv5rqGV$8v^tvgM>uP=Qgd0AOLM4u!}o1jJekluWEFi2i#3O{XZAY&1 zEmkk2cY%gc$35@nfEJp!sw(lA$6vSf#(%eMTV}lbb}9AmlCi#+=;EOrHF`rb*6M?w zzpPQk^rzUp0b{ihn=As}18%o^j7o_|LNd^BW3h%`9s(^1<1J=f?BRhac+G=Q_eQH< zQ#HWSWg4=R$RWz3t;Yi^U?YNgeON}85v?Z0Yi-iAFmkcGMiW|whiM;>j;J!TrNrMJ zX9T;O)p{RJwAsFran$62XKGBVkNk07{D9K1GV8I^Sf2d{YOUg*lOv6$V zvHFgx0y3Y4&GfrcIM+2`*0l|4!3bOX6!u2?j)x}FXFs#(oIOYAr=%+2>1L#Hq?gpH z{UY7+eEP|w<+Hz2JHRSu!c_TW5?>=_R@ zBQZ*RL(hyc|3JSn{^Y-XEE`Sc(}5?ol^Y?GnY)L1$E_r>{agH8SBkoo!TSKL0?ac& z6eZtUAKnJYfq*@uhytK`h70Of&T-AKZICTxv=q4@?x~0p%rQ1&S3@p`h%svoNOa`u zAbNfQDg#ol7tY1)%Uo}oc`60c8XZJX;Ni6e_I!~f4hu>f}Tq38xU3Rhv)=YXkJiYy?zz0tg z?StoliUP66FS{U~L(QZ#;C%6LK0_5aje(P%s|x~-2Hqb41*NEgLZd7vwexw9+a`dO( zb+3}N8h}Fv%|h*C9Zjpw4ZX>^S(SqKb~BNBEM26~X)o^svusvyy^zt8IMtYK@1k9< z)<8&x)>+1^a;;O{1_AxXVtH=ZX~~Ghjfpd~E}Ze?_bWQTnelVm{Tb8GPKT8M^rW6{?L8 zmD{BBI)sQnq)b3GRm8|^lDKnhZT;$*g7;Tj1>>eS9-T_E>%*UN+SqRX`lMVYm-pgC zzJe_0$;R83OpvYca0k{EV@JN*A@{bOCAzLrzw+~Zooi(#5Qw&AtYk2XX(h?vMhFV~ zV!@`FhR;K9eqcTD3&`2B`3Gv_>;K8Gq@!GIH{)e>GCa|TZoShVNnrfai+w*3wwgRv zhig{&ka}w&_#db&d4up(*)zg^SRZUDn_xaVj;Z(-ff~3z+)!|m8P7O-JXv9q>wcyzvG*>1CWUy;?+x0Hi3+ce1BdJAJ@M;P5;l|I5U(QUAQSa8{bCY17h$K3w zZnHFx%=~j~(})Crrh`%7gP?n#2qPM`{ecN}i$s36&o{GKPXF(^?n6b!uF_R6Pu}Vk zFKze9AhgYszz~RQKnR!5IG(_*JP831Dutu zKgWwrDqZ#+__J1PsHd58HCv@WiCreVnaltywnATu4jWs^`8`AD)WbE-ipv^Se8KQ& zgq2{k33PC3Ic5vq&1>V-s$XkaNo;;U1x^o3Er1{Jnt2B`i#4=4%RF)+sk-M(7#*eQ zeSKa0fq^BpgFvy`FWAiN5m4OZP$Uze4oA9+;VHwSL}TddAJ{E3+1{qOEh*OOHY;mt zojLLDv|D})1xS>4V*o34P6H!`T1^4^i@+KR(3qi&ayU12f`X-wsD}celq)u_C7cUb zaZ~T{-z#`Uw+A3VTj@V583$-!o@+z_YBDO^=S=|~93lq{-M5;!Zuq?*R@0M|K70L< zMAUN-=;Qw~tvL%9S79aQEki11ugJfr;bfBibV_v-?|F4#78wl|L|7LTHx?ZlY0YC5 zi=iXe>LD&Y1Y3W}2Ooo`4hE)uh z^Dn4h{ak(BKVdoBD7x9ZCZOpr&ea9!bRld_I6dYr*x79uV>FvVU#n@nC&P8O-+M0O z(zoaiHb?25O@}dzXQgJiyVR<$f~@mJL0s=x@08Pkn2f*Y6+sn4ED9ofQy^2VgRiMW ztfn_zZs$`Wk1PY~4FSi;KTAK=SFEQn($8nz-v(*(|Hhs+^4G!WRmH3AU^{x7;2HmZ zMLXFr$2c&?C&oopp~2G6J)lci)Rnzhqfv2c+I`z%jA+qi#BugB8#3m4ll<2?sK2Q; z@s%Z)@6N)ZX}!Ph=D@K>==)}kta{t~R@ek`Q%X{A3a0NWoDbJ}L!^`_vXfuLg_g4{ zxg=}*UFq~Id3bC@d$~ZM*=6uuD=B%PEnAo!9IvN{+JM-2|MKK5MOX*SWgJcE)a!;H`XH1Mt0&;4r#cckZSh5WSjVr~`n=%A7^1i_!n0^T-Q}=U(>eh|g zdDiy6QKc6q9m-ALL-qFQq|fPH8ko(_xpB$(_K0{`y)gFo+t~VL3%)p6-dY&;M=k;2 zkdbI0h%?9GS4q!WXZ~~-KCxItg*^e*!NE6f@ePo1DODO=Y`9=S+}b2tnaLqf4t;fB zA%YHRU?vD@b)*{cLs(CW2<}FfMbIfnojg>8{9PI(QA-Ji?a3Y}5DCdbP{Px7iincy$)N~`-0aiQTU6~_A|=ii&V+o z_oi;5vv&1u!olN+kDnphe)ga?umeg98!<6is58 zN}jTQi@mZ-JxH8j-{_6MKjxGa>iS3m1`bX})g;v6Lni=^t~5-j`z$L^NMB4c*CDWY zgul6c-qQKutfB%ME=DAJTM!seK1LN(8)}dEHu^-9bLzd%UU+F$dIVXdl^nhlDCEwz zTdBjC*=L^IF4|^BR|aYG4E*q1MNyy4L*7I?NF0~0H;#y z@;A29XsPNdp&_~6Njd2$V`dYcY14bquLGx^`zB6e%AI5=5+t%hY9;ja2Yc`BL<_wH zG{zv>L~+_NM-~VkP&9e0Tkcj~Yyk$s;~%Kdul4@UkIFBw4)e3$xg@|ciUc^Ob%W(m z&+mE;MK1w_15w+C1dcH9VqJUaGsbDJM6EwB1Ap|4?yD1rU!sF5Gy?wAA?u;)Hy(^H zJivs8D9L_*bf5%Gkp?m~Q)UVm(fcLGH;lvlJ0W8JI9FfNm#VtVJE%b|L>#WFn>j>M zhiTpC=5Ji3clOCU-J+qmm2gq`GW-whNzgwKKBVqs`oI?#(CNokf6?~vhOO|Q)V}vJ z%RVDw$tG!Ys#xV@(l=%Nctd9it6E*JBR&<;E7NGaX@lh;cikd=_qvmet#;kxuMKrw zwo5{P1$c11k$<^D7KS4@o;r=`*G{v?=6e1E$%wzYkgR+B_3OJfpD*)Q#qxNI*dTSt z1$Aqe#(1McF2$Ql$)lO2+nygdK0n^>&)lBX>MymuRZS+;_?ssk`R8TELsH1rlQ_n& z5$3lB?uunOC;hG1vh3xQ-}FT7TBhCW zy9aR8B=Lp`_hzS&bzCF~`irO6UwjQxkDPo)GK8XDWhmmASBjzYK~ z;EEkUr20_P6S-3`SVC)r=WTg)mgbS8cO5bap8{6uyXslvVhn}fq&KXbPKV3V9Tr&X zaqC#Af1t%geLmM1Tl*$dzm zSNU&N^AYrj$>4n60mNzCj&%c2=ae#_sA}N~6ZFPyU4qf=4rtqBLQh6gMXki`K@GgCBD3ZZx>&ce;x_l>N>7D zyE+Fsur>2TyPkRsKT|F|_^G++UC4gMl`A66${K2X_I)vTdc)(}Qj2Bgq)hc3eKwfo zI?xxIy0%``m;)O6ZnB^(5e3ex4RUjj=yr)MS(E-Rk!-xj0jKwwUbE9=`>kIDL}hF1 zJ?;9bRA-o!PCg1)pO>pn{Bx7zP-+@!y?4yH=YF$!eNT+2QG6N$CEoCAhq&x`VFX;d zCW}`ix;-%JO=DX-;>RvEkS03?mJtoB&e)*w%*1I(*<;v-$=gQd$Bn~fGCJ-YQr7_f ziAheqfAGZM)UZdyyn|PORF_X}knaniANuS^g;ZPKuU8isV;E6rlj|BBNMza4kEJo%^k8!OTR zxYD6FD}Y~}q6i9xm=+mGl%;D$abLe8G^x>X%NSX_y19EFZ25%X^um3t#I0_1-Pva= z?~ThrSFc=BSDD2UTA>lnBv`-A(~>VOU$KDJ z)PQ?M2{HrLDoqld4kz^awDc=P_NMqWAhDsrKTuF2lbEmF&q7OLeVIMClx6=k8pd%g zHr2-b=AKE($Uo3%q-sd3>n6U;e({U5yi2IV-j6SXM&TcGtW$&+_*#SF6Y?hfZloAB zxKzl9PC1RNr(v}R0VwOr@5j#vWtl&_XHEB}<(TW=LMGN7`7VFSfQ1HQ_awb*^kjk1 z%du~~)AAz?I32&nMsxnRV+L;wg&$|=Kd-A#YZ052(RqO|Pk!pZ4{>Pn;xUZ%ww8KS z^+fMRs%3LEJMl{AjDJROyjZo!O*_WXMqX5aE6(M}hkoK$d&UW8r`5Gg^-Hjx*CqV> zP|1vC2JT4h_Bk7{S%>*V!(XmhbXHQ@}3Uq5n_v&k_N)*@OGe zVtczw+4W6~tcq>|*>-?ES^CilcwWQCEiGTuYmzG%t_$$s z=hzsC_QrA=71MHqAQ^_8t6D#f{FQog>GnAz$mlV}`JxiQ-c;l|FTc6$d-fBxJv#7vLqRZkSi3p3aFKQjC1N$|U*n2rC^}^8J!}uHA_``Qt zrMDVUSCs*(l2>Mo55KR&SLp}&%>Ho+%SC*=IYMG*KR*jsF-eqyKu(u7);dQ4F9~H7 z+qK}2?&^ZD%`Ef8z<`#VnUvB$OWo_UEURd-x!3b0iPC-3pJnR2hI&*CsG;sc%i2?lv zx_!)IaO%9DA{#t_EX4)4MW=9-M(+Gs3F-@2$X@@rs8M-eaI{g#_F2R6ai-Syi})0K zf5Yq&oz=&Gg?P*)6AxSpp^epSfaHM`54&9^`X?fU`5qbVy)RiM{f4qPV1D=3(A-ta z+EwM%FZPIJti+~TZLFr+2=|wC!^dF$V+qr#;$zD@9%upibhM>bhGboQ^&$%@4E1`P zD{38|$M1qcc^erT!uNEX-pE+$+7knAB#0 zc}K#pGqamlD`#~Zlb=eS)t|-THX*m-KcUCT*=dLxl=w_n-Y|KA;ka&`;NO5z1MaPp{VjdIzUfN3HUXpUI~iYx z{H~)N-xsw*)=UZy)kh?~o7@J!t0#^kJ-mOuZ^NLI9ZM|i;q+oYVkPCj^-!jEfV$bm zV5GA5>&7=;ZPkmrWP!kb$okJQuh0KLqGQ<-%?oS&?058e(us(WI=s1I{P!vS4ZBrK zcEYzr{SA3n!!*Di7#}0+4bf>`CY{Sut2`!M#>ZKcrB)yN1n* zbd)!v16Lgrhm4a;nToqwQ5o2R-{)61P%lhAbhXS%(Ud)P3>Y;ld+N08POp#WCzt90 zMB=s4%Yb?%ximB{L&jLW?9gd4fBB?tZB!J#@8|+R$^ssx02V!2s;zg(0S!7qy2${v zd9;d%)78^H0v$K_5!L0-DJmD#)wz3~9WS4#u25cm{Ud$_llQ#`TPGMQw%b4q%^0&b zS0wnJwNJhOpLHWJabw5qEU;G@<_ow;geKOLH z>!$A3lBYLc_9`YTpF4%}Heh8$ZoW(v=k|+^l+Z)l8%lNd+xKqnShT$qj}4UkMufZT zK%mR7j+|P$0#;g=1VTphnlBMlfO-I;RTB7^mI_FpA0H#ptM+cXaVkI{)wxp5ImME~ z8+3U4_*>jRkj+jP`JJ^9ePB3xbcJzoQ3YO+47Ki5uKhKSFhZxxQFaN5Wj~|SLh#mkGb}} z&F|RuY?rKcJ%db0)4bZK|i~m&+A@mm(9Lk zAxko5I^G4MRo853E?fpdg#I(3Lfm9iTG=*LxMR{>37qI?U{;mBzI9NX)ELKA_@bGu zMi1TCMptUo*DB;|!=nX3Suzc))~g^!0_&G%s6JzL%PgBW*r)hCbVu)D-F2|4RU&~w zd%_}|+0JgYkePth{uEJb$r95X=j4JSM(v-|8}X$+!p6B6tZ?B=8{h9-Ytu-21(~I*!G)gI}9|`F86SbZDBAvk)OKIc3Fl1(@6kkprpQ2s zmSdWtxhT3iEMp6xUm-Xx8_E>v8ytQwlywAswnjR;&LqT6(PFr1NHZwyfv^n^-SxB- z)Em#sx|QEGE^=7?(GOkb|9&OAWTv*I%)5!s9eky*lKJS@iR{6?+8KR(0U?ux^8l?a zI*uW1Je&U&c}t=Gmo8@k8j*RkR!qEhXPago$~f&Mt2G_bcPF z0kwnfV1Z@E?c_?_QoAjlu{q+F68&AC9X{KHy4hwtEkVbja5O_5tN+tJJ%=wV(4yY9 zPfS!gPe4AYqj7A9HAbz9htB+j)z&Kq**DrERzASe*MN|S4jO7%n|qrsiX&S+#@$y= zZ{VwRPUxKaki|cehPI=gwefv-vlCvQ+BtwP`Bc9cv-_GBFzzYO9RA)(o8F8jiIEcnOC^jAZ7SJ`L2%z*V zRWlX4Oh>EX2JwR3qXw%`Qog-bdp$~xKDcWF^t=jR7z@8cj{p<`uI&jrYkuq0@9unF z2m-eF0jvf9iBm)kP`=__B(LFJqCvv!D!^_7DqyerEiTC$i8?H5+Z>`1M)z6aMIox^MiQ6Q=>z5 zdr2pLgvfs&%X%NqA49Zs`9REuimIRo{)d|MS?`1yum(0`0@ zxTBC7wi4~twx_X~<$UV9&feIX6I@PHYMIY12oeShI$tS;fP{++3a?5a(H*d=%(!s; zcpD?NamAYLo$J?f-WgHG(a~PUG7USRq^KYI^-BrD`gCHO+~#C$ytnr1ez(w4#zs+Q zJ(!N7f|hHw8LFyip-lTk+hC{>TyxRzPMzWCn8Z=&iJizsdqJ|c#10NqtdXux%?t

;zFrWrCAOlMyc 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

Xeiqv*}?L-JLGO&mSQS_4OG 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�qJccy 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 literal 0 HcmV?d00001 diff --git a/storage/filesystem/server/info.txt b/storage/filesystem/server/info.txt new file mode 100644 index 0000000..33a81aa --- /dev/null +++ b/storage/filesystem/server/info.txt @@ -0,0 +1,4 @@ + +Secure data files comes here... + +Only accessible through server side! diff --git a/ui/.babelrc b/ui/.babelrc new file mode 100644 index 0000000..12b16e5 --- /dev/null +++ b/ui/.babelrc @@ -0,0 +1,9 @@ +{ + "presets": [ + "@babel/preset-env", + "@babel/preset-react" + ], + "plugins": [ + ["import", { "libraryName": "antd", "style": "less" } ] + ] +} \ No newline at end of file diff --git a/ui/.gitignore b/ui/.gitignore new file mode 100644 index 0000000..ae15f2b --- /dev/null +++ b/ui/.gitignore @@ -0,0 +1,18 @@ + +node_modules/ + +.DS_Store +*.log +.idea/ +.metadata/ +.vscode +package-lock.json +yarn.lock + +.Trash + +*~* +*#* + + + diff --git a/ui/README.md b/ui/README.md new file mode 100644 index 0000000..2605aa2 --- /dev/null +++ b/ui/README.md @@ -0,0 +1,24 @@ + +### Install Packages + +`npm install` + +### Watch changes and auto recompile + +`npm run watch` + +### Installation requirements + +On Windows with an Administrator terminal, run: + +``` +npm install --global --production windows-build-tools +npm install --global node-gyp +``` + +With others Python version, then configure the Python 2.7 path: + +``` +node-gyp --python /path/to/python2.7 +npm config set python /path/to/executable/python2.7 +``` diff --git a/ui/package.json b/ui/package.json new file mode 100644 index 0000000..7ee31eb --- /dev/null +++ b/ui/package.json @@ -0,0 +1,38 @@ +{ + "name": "ui", + "version": "1.0.0", + "description": "", + "main": "src/index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "webpack --mode production", + "watch": "webpack --mode development --watch" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "@babel/core": "^7.17.5", + "@babel/plugin-proposal-object-rest-spread": "^7.17.3", + "@babel/preset-env": "^7.16.11", + "@babel/preset-react": "^7.16.7", + "babel-loader": "^8.2.3", + "babel-plugin-import": "^1.13.3", + "css-loader": "^6.7.0", + "less": "^4.1.2", + "less-loader": "^10.2.0", + "prop-types": "^15.8.1", + "style-loader": "^3.3.1", + "webpack": "^5.70.0", + "webpack-cli": "^4.9.2" + }, + "dependencies": { + "@ant-design/icons": "^4.7.0", + "@netuno/service-client": "^1.0.10", + "@netuno/ws-client": "^1.0.8", + "antd": "^4.18.9", + "chart.js": "^3.7.1", + "react-chartjs-2": "^4.0.1", + "react-highlight-words": "^0.17.0" + } +} diff --git a/ui/src/components/MyButton/index.js b/ui/src/components/MyButton/index.js new file mode 100644 index 0000000..a53e8b1 --- /dev/null +++ b/ui/src/components/MyButton/index.js @@ -0,0 +1,20 @@ +import React from "react"; +import PropTypes from "prop-types"; +import { Button } from 'antd'; + +function MyButton({ text, onClick }) { + return ( +
+ +
+ ); +}; + +MyButton.propTypes = { + text: PropTypes.string.isRequired, + onClick: PropTypes.func.isRequired +}; + +export default MyButton; \ No newline at end of file diff --git a/ui/src/containers/ContactTable/index.js b/ui/src/containers/ContactTable/index.js new file mode 100644 index 0000000..9061576 --- /dev/null +++ b/ui/src/containers/ContactTable/index.js @@ -0,0 +1,215 @@ +import React, { useEffect, useState, useRef } from 'react'; + +import { Table, Input, Button, notification } from 'antd'; + +import { SearchOutlined } from '@ant-design/icons'; + +import Highlighter from 'react-highlight-words'; + +import _service from '@netuno/service-client'; + +const { Column } = Table; + +const pageSize = 10; + +const columnsNames = [ 'name', 'email', 'subject', 'moment' ]; + +const columnsTitles = { + name: 'Nome', + email: 'E-mail', + subject: 'Título', + moment: 'Momento' +}; + +function ContactTable() { + const [ uid, setUID ] = useState(null); + const [ dataSource, setDataSource ] = useState([]); + const [ loading, setLoading ] = useState(true); + const [ filter, setFilter ] = useState({ + name: '', + email: '', + subject: '', + moment: '' + }); + const [ pagination, setPagination ] = useState({ + current: 1, + pageSize, + total: 0 + }); + const [ sorter, setSorter ] = useState({ + field: '', + order: '' + }); + + const searchInput = useRef(); + + const loadTable = (settings) => { + if (settings == null || typeof settings == "undefined") { + settings = { state: null }; + } + if (typeof settings.filter == 'undefined') { + settings.filter = filter; + } + if (typeof settings.pagination == 'undefined') { + settings.pagination = pagination; + } + if (typeof settings.sorter == 'undefined') { + settings.sorter = sorter; + } + setFilter(settings.filter); + setSorter(settings.sorter); + setPagination(settings.pagination); + setLoading(true); + _service({ + method: 'POST', + url: "/admin/contact/list", + data: { filter, pagination, sorter }, + success: (response) => { + setDataSource(response.json.resultados); + setPagination({ + ...pagination, + total: response.json.total + }); + setLoading(false); + }, + fail: (e) => { + console.error("Service admin/tabela error.", e); + notification.error({ + message: 'Tabela', + description: 'Não foi possível carregar os dados.' + }); + setDataSource([]); + setLoading(false); + } + }); + } + + const handleTableChange = (pagination, filters, sorter) => { + loadTable({ pagination, filters, sorter: { field: sorter.field, order: sorter.order } }); + }; + + const handleSearch = (selectedKeys, confirm, value, dataIndex) => { + if (value != null && value != '') { + filter[dataIndex] = value; + } + confirm(); + loadTable({ filter }); + }; + + const handleReset = (clearFilters, dataIndex) => { + filter[dataIndex] = ''; + clearFilters(); + loadTable({ filter }); + }; + + const getColumnSearchProps = (dataIndex) => { + return { + filterDropdown: ({ setSelectedKeys, selectedKeys, confirm, clearFilters }) => { + let field = null; + let width = 200; + let filterValue = ''; + let buttons = []; + buttons.push( + + ); + buttons.push( + + ); + field = ( + setSelectedKeys(e.target.value ? [e.target.value] : [])} + onPressEnter={() => handleSearch(selectedKeys, confirm, selectedKeys.length > 0 ? selectedKeys[0] : '', dataIndex)} + /> + ); + return ( +
+
+ { field } +
+ { buttons } +
+ ); + }, + filterIcon: filtered => { + return ( + + ); + }, + onFilter: (value, record) => { + return record; + }, + onFilterDropdownVisibleChange: visible => { + if (visible && searchInput.current) { + window.setTimeout(() => searchInput.current.select()); + } + }, + render: text => { + if (text && filter != null && filter[dataIndex] != null && filter[dataIndex] != '') { + return ( + + ); + } + return text; + }, + }; + }; + + useEffect(() => { + loadTable(); + const handleNavigationLoad = () => { + $('[netuno-navigation]').find('a').on('netuno:click', (e) => { + const link = $(e.target); + if (link.is('[netuno-navigation-dashboard]')) { + // Memu > Dashboard > Clicked! + loadTable(); + } + }); + }; + netuno.addNavigationLoad(handleNavigationLoad); + return () => { + netuno.removeNavigatoinLoad(handleNavigationLoad); + }; + }, []); + return ( + + {columnsNames.map( + (columnName) => + + )} +
+ ); +} + +export default ContactTable; \ No newline at end of file diff --git a/ui/src/containers/ContactTable/index.less b/ui/src/containers/ContactTable/index.less new file mode 100644 index 0000000..e69de29 diff --git a/ui/src/containers/DashboardContainer/index.js b/ui/src/containers/DashboardContainer/index.js new file mode 100644 index 0000000..3341a35 --- /dev/null +++ b/ui/src/containers/DashboardContainer/index.js @@ -0,0 +1,27 @@ +import React from "react"; + +import { Typography, Tabs } from "antd"; + +import ContactTable from "../ContactTable"; + +import "./index.less"; + +const { Title } = Typography; + +const { TabPane } = Tabs; + +function DashboardContainer() { + return ( +
+ Dashboard + + +

Lista de contactos submetidos pelo formulário do website.

+ +
+
+
+ ); +} + +export default DashboardContainer; \ No newline at end of file diff --git a/ui/src/containers/DashboardContainer/index.less b/ui/src/containers/DashboardContainer/index.less new file mode 100644 index 0000000..da3b33f --- /dev/null +++ b/ui/src/containers/DashboardContainer/index.less @@ -0,0 +1,8 @@ + +.my-dashboard { + width: 100%; + &__button { + padding: 80px; + text-align: center; + } +} diff --git a/ui/src/index.js b/ui/src/index.js new file mode 100644 index 0000000..2c0555e --- /dev/null +++ b/ui/src/index.js @@ -0,0 +1,45 @@ +import React from "react"; +import ReactDOM from "react-dom"; +import _service from '@netuno/service-client'; +import DashboardContainer from "./containers/DashboardContainer"; + +_service.config({ + prefix: netuno.config.urlServices +}); + +const dashboardDiv = document.getElementById("app-dashboard"); + +const dashboardContainer = dashboardDiv ? ReactDOM.render(, dashboardDiv) : false; + +netuno.addNavigationLoad(() => { + $('[netuno-navigation]').find('a').on('netuno:click', (e)=> { + const link = $(e.target); + if (dashboardContainer && link.is('[netuno-navigation-dashboard]')) { + // Menu > Dashboard > Clicked! + } + }); +}); + +netuno.addContentLoad((container) => { + // When any content is loaded dinamically this is executed... + if (container.is('[netuno-form-search="YOUR_FORM_NAME"]')) { + // When search page is loaded... + } else if (container.is('[netuno-form-edit="YOUR_FORM_NAME"]')) { + // When form edit is loaded... + } +}); + +netuno.addPageLoad(() => { + // When page is loaded... + let modal = $('#app-dashboard-modal-form'); + modal.on('hidden.bs.modal', ()=> { + modal.find('[netuno-form-edit]').empty(); + }); + $('#app-dashboard-modal-form-button').on('click', ()=> { + modal.modal('show'); + netuno.loadFormEdit(modal.find('[netuno-form]')); + }); + modal.find('[netuno-form]').on('netuno:save', ()=> { + modal.modal('hide'); + }); +}); \ No newline at end of file diff --git a/ui/src/styles/main.less b/ui/src/styles/main.less new file mode 100644 index 0000000..5a69da6 --- /dev/null +++ b/ui/src/styles/main.less @@ -0,0 +1,4 @@ + +/*** GLOBAL CSS ***/ + +@import '~antd/dist/antd'; \ No newline at end of file diff --git a/ui/webpack.config.js b/ui/webpack.config.js new file mode 100644 index 0000000..cd552dd --- /dev/null +++ b/ui/webpack.config.js @@ -0,0 +1,84 @@ +const path = require('path'); + +module.exports = { + entry: [ './src/index.js', './src/styles/main.less' ], + devtool: "source-map", + output: { + path: __dirname +'/../public/scripts', + filename: 'main.js' + }, + module: { + rules: [ + { + test: /\.jsx$/, + include: [ + path.resolve(__dirname, 'src') + ], + exclude: [/node_modules/], + use: [{ + loader: 'babel-loader' + }] + }, + { + test: /\.js$/, + include: [ + path.resolve(__dirname, 'src') + ], + exclude: [/node_modules/], + use: [{ + loader: 'babel-loader' + }] + }, + { + test: /\.css$/, + include: [ + path.resolve(__dirname, 'src') + ], + exclude: [/node_modules/], + use: [ + 'style-loader', + 'css-loader' + ] + }, + { + test: /\.less$/, + include: [ + path.resolve(__dirname, 'src') + ], + exclude: [/node_modules/], + use: [ + { + loader: 'style-loader' // creates style nodes from JS strings + }, + { + loader: 'css-loader', // translates CSS into CommonJ, + options: { + sourceMap: true + /*, + modules: { + mode: 'local', + localIdentName: "[local]___[hash:base64:5]", + context: path.resolve(__dirname, 'src'), + hashPrefix: 'app', + }*/ + } + }, + { + loader: 'less-loader', // compiles Less to CSS + options: { + lessOptions: { + modifyVars: { + '@primary-color': '#1178FF', + '@link-color': '#1178FF', + '@border-radius-base': '5px' + }, + javascriptEnabled: true + }, + sourceMap: true + } + } + ] + } + ] + } +}; diff --git a/website/.editor.config b/website/.editor.config new file mode 100644 index 0000000..03f7253 --- /dev/null +++ b/website/.editor.config @@ -0,0 +1,6 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 \ No newline at end of file diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 0000000..ba989fd --- /dev/null +++ b/website/.gitignore @@ -0,0 +1,43 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +package-lock.json +yarn.lock + +*~* +*#* + +src/config/config.json + +build/cluarData.js +public/cluarData.js + +public/sitemap.xml + +public/images/banner/ +public/images/content/ +public/images/functionality/ +public/images/listing/ +public/images/listing_item/ + diff --git a/website/README.md b/website/README.md new file mode 100644 index 0000000..9c40dcd --- /dev/null +++ b/website/README.md @@ -0,0 +1,68 @@ +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `yarn start` + +Runs the app in the development mode.
+Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.
+You will also see any lint errors in the console. + +### `yarn test` + +Launches the test runner in the interactive watch mode.
+See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `yarn build` + +Builds the app for production to the `build` folder.
+It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.
+Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `yarn eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting + +### Analyzing the Bundle Size + +This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size + +### Making a Progressive Web App + +This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app + +### Advanced Configuration + +This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration + +### Deployment + +This section has moved here: https://facebook.github.io/create-react-app/docs/deployment + +### `yarn build` fails to minify + +This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify diff --git a/website/build.sh b/website/build.sh new file mode 100755 index 0000000..8c5999f --- /dev/null +++ b/website/build.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +if [ -f "build/cluarData.js" ]; then + mv build/cluarData.js .cluarData.js +fi + +cp src/config-prod.json src/config.json + +rsync -av build/images/ public/images/ + +yarn install + +yarn build + +cp src/config-dev.json src/config.json + +if [ -f ".cluarData.js" ]; then + mv .cluarData.js build/cluarData.js +fi diff --git a/website/craco.config.js b/website/craco.config.js new file mode 100644 index 0000000..d4bd852 --- /dev/null +++ b/website/craco.config.js @@ -0,0 +1,22 @@ +const CracoLessPlugin = require('craco-less'); + +module.exports = { + plugins: [ + { + plugin: CracoLessPlugin, + options: { + lessLoaderOptions: { + lessOptions: { + modifyVars: { + '@primary-color': '#1178FF', + '@layout-header-background': '#ffffff', + '@font-size-base': '16px', + '@border-radius-base': '20px' + }, + javascriptEnabled: true, + }, + }, + }, + }, + ], +}; diff --git a/website/package.json b/website/package.json new file mode 100644 index 0000000..f7a1eb1 --- /dev/null +++ b/website/package.json @@ -0,0 +1,53 @@ +{ + "name": "cluar", + "version": "0.1.0", + "private": true, + "dependencies": { + "@animated-burgers/burger-slip": "^1.1.2", + "@ant-design/icons": "^4.7.0", + "@netuno/service-client": "^1.0.10", + "@testing-library/jest-dom": "^5.14.1", + "@testing-library/react": "^12.0.0", + "@testing-library/user-event": "^13.2.1", + "antd": "^4.18.7", + "classnames": "^2.3.1", + "craco-less": "^2.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", + "react-ga": "^3.3.0", + "react-icons": "^4.3.1", + "react-map-gl": "^7.0.9", + "react-responsive-carousel": "^3.2.23", + "react-router-dom": "^6.2.1", + "react-scripts": "5.0.0", + "react-scroll-parallax": "^3.0.3", + "sal.js": "^0.8.5", + "sprintf-js": "^1.1.2", + "web-vitals": "^2.1.0" + }, + "scripts": { + "start": "craco start", + "build": "craco build", + "test": "craco test", + "eject": "craco eject", + "watch": "craco start --watch" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + } +} diff --git a/website/public/images/favicon-1024.png b/website/public/images/favicon-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..92eba0a0a7807275cf384d8f86abbfa318aaac22 GIT binary patch literal 26470 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 EU)zRu5&!@I literal 0 HcmV?d00001 diff --git a/website/public/images/favicon-192.png b/website/public/images/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..5fafe37ae588537ece3662ba66c1793389566b67 GIT binary patch literal 5476 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 V2pc%xd=GYoaG1Olq-(Qv{{>-z-w6N! literal 0 HcmV?d00001 diff --git a/website/public/images/logo.png b/website/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8d4ce1d7a973e2a985b392e570a8765fd76d9df0 GIT binary patch literal 23245 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 literal 0 HcmV?d00001 diff --git a/website/public/index.html b/website/public/index.html new file mode 100644 index 0000000..9ad9f8e --- /dev/null +++ b/website/public/index.html @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/website/public/manifest.json b/website/public/manifest.json new file mode 100644 index 0000000..1b55bb6 --- /dev/null +++ b/website/public/manifest.json @@ -0,0 +1,30 @@ +{ + "short_name": "CLUAR", + "name": "CLUAR - CMS for ReactJS and Website Backoffice", + "icons": [ + { + "src": "images/favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "images/favicon-192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "images/favicon-512.png", + "type": "image/png", + "sizes": "512x512" + }, + { + "src": "images/favicon-1024.png", + "type": "image/png", + "sizes": "1024x1024" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#ffffff", + "background_color": "#ffffff" +} diff --git a/website/public/robots.txt b/website/public/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/website/public/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/website/src/App.js b/website/src/App.js new file mode 100644 index 0000000..9db3fee --- /dev/null +++ b/website/src/App.js @@ -0,0 +1,71 @@ +import React from 'react'; +import { Layout } from 'antd'; +import { + BrowserRouter, + Routes, + Route, + Navigate +} from "react-router-dom"; + +import Analytics from './common/Analytics'; +import Cluar from './common/Cluar'; +import Builder from './common/Builder'; +import BaseCookies from './base/Cookies'; +import BaseHeader from './base/Header'; +import BaseFooter from './base/Footer'; +import Customizada from './pages/Customizada'; +import NotFound from './pages/NotFound'; + +import './styles/App.less'; + +const { Content } = Layout; + +function App() { + const storageLocale = window.localStorage.getItem('locale'); + if (storageLocale == null) { + window.localStorage.setItem('locale', Cluar.currentLanguage().locale); + } else { + Cluar.changeLanguage(storageLocale); + } + + const routes = []; + for (const language of Cluar.languages()) { + if (!Cluar.pages()[language.code]) { + continue; + } + const subroutes = []; + for (const page of Cluar.pages()[language.code]) { + subroutes.push( + } /> + ); + } + routes.push( + + {subroutes} + + ); + } + + return ( + + { Cluar.isGAEnabled() && } +
+ + + + + } /> + {routes} + } /> + } /> + + + + + +
+
+ ); +} + +export default App; \ No newline at end of file diff --git a/website/src/App.test.js b/website/src/App.test.js new file mode 100644 index 0000000..4db7ebc --- /dev/null +++ b/website/src/App.test.js @@ -0,0 +1,9 @@ +import React from 'react'; +import { render } from '@testing-library/react'; +import App from './App'; + +test('renders learn react link', () => { + const { getByText } = render(); + const linkElement = getByText(/learn react/i); + expect(linkElement).toBeInTheDocument(); +}); diff --git a/website/src/base/Cookies/index.js b/website/src/base/Cookies/index.js new file mode 100644 index 0000000..96925aa --- /dev/null +++ b/website/src/base/Cookies/index.js @@ -0,0 +1,36 @@ + +import React, { useState } from 'react'; +import { Button } from 'antd'; + +import Cluar from '../../common/Cluar'; + +import './index.less'; + +function BaseCookies() { + const [acceptedCookies, setAcceptedCookies] = useState(sessionStorage.getItem('cookies-accepted')); + const onClick = () => { + sessionStorage.setItem('cookies-accepted', '1'); + setAcceptedCookies('1'); + } + if (acceptedCookies === '1') { + return null; + } + return ( +
+ ) +} + +export default BaseCookies; \ No newline at end of file diff --git a/website/src/base/Cookies/index.less b/website/src/base/Cookies/index.less new file mode 100644 index 0000000..ef4bf22 --- /dev/null +++ b/website/src/base/Cookies/index.less @@ -0,0 +1,32 @@ +.cookies { + position: absolute; + height: 100px; + background-color: #777777; + &--popup { + position: fixed; + z-index: 10000; + width: 100%; + height: auto; + bottom: 0; + background-color: #fff; + box-shadow: 0 -1px 10px 0 rgba(172, 171, 171, 0.3); + &__content { + color: rgba(0, 0, 0, 0.85); + padding: 20px 50px; + @media only screen and (max-width: 800px) { + padding: 20px 20px; + } + display: flex; + justify-content: space-between; + p { + margin-bottom: 0; + } + @media only screen and (max-width: 768px) { + display: block; + p { + margin-bottom: 1em; + } + } + } + } +} diff --git a/website/src/base/Footer/index.js b/website/src/base/Footer/index.js new file mode 100644 index 0000000..293604d --- /dev/null +++ b/website/src/base/Footer/index.js @@ -0,0 +1,84 @@ +import React from 'react'; +import { Layout, Row, Col } from 'antd'; +import { PhoneOutlined, HomeOutlined, MailOutlined } from '@ant-design/icons'; +import { FaPlay, FaHome, FaPhone, FaEnvelope, FaYoutube, FaGithub, FaFacebook, FaLinkedin, FaTwitter, FaInstagram, FaDiscord } from 'react-icons/fa'; +import { RiOpenSourceFill } from 'react-icons/ri'; +import { CaretRightOutlined } from '@ant-design/icons'; + +import Cluar from '../../common/Cluar'; + +import Configuration from '../../components/Configuration'; + +import Dictionary from '../../components/Dictionary'; + +import './index.less'; + +const { Footer } = Layout; + +function BaseFooter() { + return ( +
+ + +
+ logo +
+
+ { Cluar.plainDictionary('rodape-logo-texto') } +
+ Aqui vai o: Teste... + + + + +   + +
+ +
+ + +

+ +
+ + +

+ +
+

+ +   + asdf + + asfaf +   + + + + + + + + + + + + + + + + + + + + + +

+ +
+
+ ); +} + +export default BaseFooter; \ No newline at end of file diff --git a/website/src/base/Footer/index.less b/website/src/base/Footer/index.less new file mode 100644 index 0000000..b22e527 --- /dev/null +++ b/website/src/base/Footer/index.less @@ -0,0 +1,140 @@ +@import "../../styles/variables.less"; + +.ant-layout-footer { + z-index: 3; + width: 100%; + position: relative; + padding: 0 20px 20px 20px; + box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .2), + 0 1px 1px 0 rgba(0, 0, 0, .14), + 0 2px 1px -1px rgba(0, 0, 0, .12); + background: @footer-background; + + &__wrapper{ + width: 100%; + max-width: @site-max-width; + margin: auto; + } + + .logo { + img { + width: 100%; + max-width: 200px; + } + } + + @media only screen and (max-width: @header-mobile-width) { + text-align: center; + padding: 20px 0 10px; + > div:last-child { + padding: 0 20px; + } + } + + h1 { + color: @footer-color; + font-size: 25px; + padding: 0 10px; + + + @media only screen and (min-width: 1200px) { + margin: 0 calc((100% - 1200px) / 2); + } + + @media only screen and (max-width: @header-mobile-width) { + width: 100%; + margin: 0 auto; + font-size: 20px; + } + } + + .line { + height: 20px; + opacity: .5; + border: 0; + border-radius: 50%; + border-bottom: 2px solid @primary-color; + width: 100%; + } + + .links-bar, + .copyright { + padding: 0 10px; + display: inline-block; + width: 50%; + font-size: .875em; + + a { + color: @footer-color; + text-decoration: underline; + } + + @media screen and (min-width: @header-desktop-width) { + width: calc(50% - calc((100% - @header-desktop-width) / 2)); + } + + @media only screen and (max-width: @header-mobile-width) { + display: block; + width: 100%; + margin: 20px auto !important; + font-size: 12px; + text-align: center; + } + } + + .links-bar { + margin: 20px auto; + + @media screen and (min-width: @header-desktop-width) { + margin-left: calc((100% - @header-desktop-width) / 2); + } + } + + .copyright { + color: @footer-color; + text-align: right; + + @media screen and (min-width: @header-desktop-width) { + margin-right: calc((100% - @header-desktop-width) / 2); + } + } + + .cellphone { + color: @footer-color; + text-align: left; + + @media screen and (min-width: @header-desktop-width) { + margin-right: calc((100% - @header-desktop-width) / 2); + } + } + + .copyright, + .cellphone { + @media screen and (max-width: @header-mobile-width) { + text-align: center; + } + } + + .social-links { + color: #ff0000; + font-size: 24px; + text-shadow: 0 0 5px #00ff00, + 0 0 5px #00ff00, + 0 0 5px #00ff00; + &:hover { + color: #0000FF; + + path { + stroke: red; + stroke-width: 1; + stroke-linecap: butt; + stroke-dasharray: 0; + fill: #FFFF00; + } + + } + >a { + margin-right: 10px; + } + } +} \ No newline at end of file diff --git a/website/src/base/Header/index.js b/website/src/base/Header/index.js new file mode 100644 index 0000000..3786c3f --- /dev/null +++ b/website/src/base/Header/index.js @@ -0,0 +1,173 @@ +import React, { useState } from 'react'; +import { Layout, Menu } from 'antd'; +import { GlobalOutlined } from '@ant-design/icons'; +import Burger from '@animated-burgers/burger-slip'; +import '@animated-burgers/burger-slip/dist/styles.css'; +import classNames from 'classnames'; +import { + Route, + Link +} from "react-router-dom"; +import Cluar from '../../common/Cluar'; +import Builder from '../../common/Builder'; + +import './index.less'; + +const { Header } = Layout; +const { SubMenu } = Menu; + +function BaseHeader() { + const [burgerMenu, setBurgerMenu] = useState(false); + const [activeMenu, setActiveMenu] = useState('main'); + + const handleMenuClick = (selectMenu) => { + setBurgerMenu(false); + if (selectMenu) { + setActiveMenu(selectMenu); + } + window.scrollTo(0, 0); + }; + + const menuLanguages = []; + const menu = []; + const subMenuKeys = []; + const routes = []; + for (const language of Cluar.languages()) { + if (!Cluar.pages()[language.code]) { + continue; + } + if (language.code !== Cluar.currentLanguage().code) { + menuLanguages.push( + { + Cluar.changeLanguage(language.locale); + window.localStorage.setItem('locale', Cluar.currentLanguage().locale); + window.location.href = `/${language.locale}/`; + }}>{language.description} + ); + } + + const buildMenu = (page, level) => { + if (page.menu && language.code === Cluar.currentLanguage().code) { + const key = `${page.link}`; + if (Cluar.pages()[language.code].find((p) => p.menu && p.parent === page.link)) { + subMenuKeys.push(key); + return ( + handleMenuClick(key)}> + {page.title} + + }> + { Cluar.pages()[language.code].filter((p) => p.menu && p.parent === page.link).map((p) => buildMenu(p, level + 1))} + + ); + } else { + /** + * Sample of submenu items customization, only on level 1: + * + if (level == 1) { + return ( + + handleMenuClick(key)}> +

{page.title}

+

{page.description}

+ +
+ ); + } + **/ + return ( + + handleMenuClick(key)}> + {page.title} + + + ); + } + } + return null; + }; + + const subroutes = []; + for (const page of Cluar.pages()[language.code]) { + if (page.menu && page.parent === "" && language.code === Cluar.currentLanguage().code) { + menu.push( + buildMenu(page, 0) + ); + } + subroutes.push( + } /> + ); + } + routes.push( + + {subroutes} + + ); + } + + return ( +
+
+
+ handleMenuClick('/')}> + logo + +
+
+ + {menu} + + + Customizada + + + +
+
+ + {menu} + + + Customizada + + + +
+
+ { setBurgerMenu(!burgerMenu); }} /> +
+ + } title={Cluar.currentLanguage().code}> + {menuLanguages} + + +
+
+ ); +} + +export default BaseHeader; \ No newline at end of file diff --git a/website/src/base/Header/index.less b/website/src/base/Header/index.less new file mode 100644 index 0000000..657c2d0 --- /dev/null +++ b/website/src/base/Header/index.less @@ -0,0 +1,197 @@ +@import "../../styles/variables.less"; + +.ant-layout-header { + padding: 0 calc((100% - @header-desktop-width) / 2); + position: fixed; + display: flex; + justify-content: center; + flex-direction: row; + z-index: 1000; + top: 0; + width: 100%; + height: @header-size; + line-height: @header-size; + background: @header-background; + box-shadow: 0 0px 10px 7px rgba(0, 0, 0, 0.25); + padding: 20px; + + @media (max-width: @header-mobile-width) { + padding: 0 20px !important; + } + + &__wrapper{ + width: 100%; + max-width: @site-max-width; + display: flex; + } + + >*:not(.menu-burger-open) { + z-index: 3; + } + + &.header-burger-open .menu { + z-index: 0; + } + + .logo { + display: block; + width: @logo-width; + height: auto; + + a { + img { + width: auto; + height: 50px; + } + } + + @media only screen and (max-width: @header-mobile-width) { + width: auto; + max-width: 400px; + a { + img { + max-width: 124px; + height: auto; + } + } + } + } + + .menu-languages { + line-height: @header-line-height; + background-color: transparent; + color: @header-menu-color; + border-bottom: none; + display: flex; + width: 150px !important; + + .ant-menu-submenu-title:hover { + color: @header-menu-color-hover !important; + } + + li { + margin-bottom: 20px !important; + display: inline; + + &:hover { + border-color: @header-menu-color-hover !important; + } + } + } + + .menu { + width: 100%; + line-height: @header-line-height; + + @media only screen and (max-width: @header-mobile-width) { + display: none; + } + + ul { + width: 100%; + background-color: transparent; + margin-left: auto; + border-bottom: none; + border-right: none; + justify-content: flex-end; + + li { + border: 0 !important; + background-color: transparent !important; + + &:after { + content: unset; + } + + @media screen and (max-width: @header-mobile-width) { + display: block; + } + + &:hover { + a { + color: @header-menu-color-hover; + } + + border-color: @header-menu-color-hover !important; + } + + a { + color: @header-menu-color; + font-size: 1em; + } + } + } + + &-languages { + margin-left: 0 !important; + + @media screen and (max-width: @header-mobile-width) { + margin-right: 32px; + margin-left: auto !important; + } + } + } + + .menu-burger-button { + position: absolute; + width: auto; + height: auto; + top: 18px; + right: calc(@header-size / 4); + + @media only screen and (min-width: @header-mobile-width) { + display: none; + } + + .burger { + height: calc(@header-size-mobile / 2); + } + } + + .menu-burger { + @media only screen and (min-width: @header-mobile-width) { + display: none; + } + } + + .menu-level-1 { + /* SAMPLE OF MENU CUSTOM LEVEL */ + } +} + +.ant-menu-sub, +.ant-menu-submenu-popup { + border-radius: 2px !important; +} + +.header-burger-open { + .menu { + display: block; + position: fixed; + width: 100%; + height: calc(100% - @header-size); + top: @header-size; + left: 0; + right: 0; + z-index: 9998; + background-color: @mobile-menu-background; + padding: @mobile-menu-padding-vertical @mobile-menu-padding-horizontal; + overflow: auto; + margin-top: 0; + + @media only screen and (max-width: @header-mobile-width) { + height: calc(100% - @header-size-mobile); + top: @header-size-mobile; + } + } +} + +.burger .burger-lines, +.burger .burger-lines:after, +.burger .burger-lines:before { + background-color: @header-menu-color !important; +} + +.burger.burger-slip.open .burger-lines{ + background-color: initial !important; +} \ No newline at end of file diff --git a/website/src/common/Analytics.js b/website/src/common/Analytics.js new file mode 100644 index 0000000..477c435 --- /dev/null +++ b/website/src/common/Analytics.js @@ -0,0 +1,31 @@ +import { useEffect } from 'react'; +import PropTypes from 'prop-types'; +import ReactGA from 'react-ga'; + +const logPageChange = (pathname, search = '', options) => { + const page = pathname + search; + const { location } = window; + ReactGA.set({ + page, + location: `${location.origin}${page}`, + ...options + }); + ReactGA.pageview(page); +}; + +function Analytics({ location, options }) { + useEffect(() => { + logPageChange(location.pathname, location.search, options); + }, [location, options]); + return null; +} + +Analytics.propTypes = { + location: PropTypes.shape({ + pathname: PropTypes.string, + search: PropTypes.string + }).isRequired, + options: PropTypes.object +}; + +export default Analytics; \ No newline at end of file diff --git a/website/src/common/Builder.js b/website/src/common/Builder.js new file mode 100644 index 0000000..7cc4fa9 --- /dev/null +++ b/website/src/common/Builder.js @@ -0,0 +1,49 @@ +import React, { useEffect } from 'react'; + +import sal from 'sal.js'; + +import Cluar from '../common/Cluar'; + +import Banner from '../components/Banner'; +import Content from '../components/Content'; +import Listing from '../components/Listing'; +import Encomenda from '../components/functionality/Encomenda'; +import ContactForm from '../components/functionality/ContactForm'; +import ContactMap from '../components/functionality/ContactMap'; + +function Builder({ page }) { + useEffect(() => { + sal(); + document.getElementsByTagName('meta')["keywords"].content = page.keywords; + document.getElementsByTagName('meta')["description"].content = page.description; + document.title = page.title + ' | ' + Cluar.config().name; + }, [page]); + + const components = []; + for (const item of page.structure) { + const { uid } = item; + if (item.section === 'banner') { + components.push(); + } else if (item.section === 'content') { + components.push(); + } else if (item.section === 'listing') { + components.push(); + } else if (item.section === 'functionality') { + if (item.type === 'encomenda') { + console.error('ENCOMENDA', item) + components.push(); + } else if (item.type === 'contact-form') { + components.push(); + } else if (item.type === 'contact-map') { + components.push(); + } + } + } + return ( +
+ {components} +
+ ); +} + +export default Builder; \ No newline at end of file diff --git a/website/src/common/Cluar.js b/website/src/common/Cluar.js new file mode 100644 index 0000000..2b58a2d --- /dev/null +++ b/website/src/common/Cluar.js @@ -0,0 +1,122 @@ + +import _service from '@netuno/service-client'; +import ReactGA from 'react-ga'; +import CluarCustomData from './CluarCustomData'; + +let data = null; +let currentLanguage = null; +let customData = null; +let gaEnabled = false; + +export default class Cluar { + static init() { + data = window.cluarData; + currentLanguage = Cluar.defaultLanguage(); + customData = new CluarCustomData(data); + _service.config({ + prefix: data.config.services.api + }); + if (data.config.analytics && data.config.analytics !== '') { + ReactGA.initialize(data.config.analytics); + gaEnabled = true; + } + } + + static customData() { + return customData; + } + + static config() { + return data.config; + } + + static isGAEnabled() { + return gaEnabled; + } + + static defaultLanguage() { + return data.languages.find((e) => e.default === true); + } + + static currentLanguage() { + return currentLanguage; + } + + static changeLanguage(codeOrLocale) { + currentLanguage = data.languages.find((e) => e.code === codeOrLocale || e.locale === codeOrLocale); + } + + static languages() { + return data.languages; + } + + static pages() { + return data.pages; + } + + static configuration(parameter) { + let value = data.configuration[Cluar.currentLanguage().code] ? data.configuration[Cluar.currentLanguage().code][parameter] : null; + if (!value) { + value = data.configuration['GENERIC'] ? data.configuration['GENERIC'][parameter] : null; + } + if (value) { + return value; + } + return parameter; + } + + static configurationNumber(parameter) { + const value = Cluar.configuration(parameter); + if (value && value.match(/^-?\d+\.?\d*$/)) { + return parseFloat(value); + } else { + return 0; + } + } + + static configurationMultilines(parameter) { + let value = Cluar.configuration(parameter); + value = value.replace(/(?:\r\n|\r|\n)/g, '
'); + return value; + } + + static plainDictionary(entry) { + let value = Cluar.dictionary(entry); + if (value) { + return (value).replace(/<\/?((p)|(br))[^>]*>/g, "") + } + return entry; + } + + static dictionaryNoParagraph(entry) { + let value = Cluar.dictionary(entry); + if (value) { + return (value).replace(/<\/?p[^>]*>/g, "") + } + return entry; + } + + static dictionary(entry) { + let value = data.dictionary[Cluar.currentLanguage().code] ? data.dictionary[Cluar.currentLanguage().code][entry] : null; + if (value) { + return value; + } + return entry; + } + + static banner(type) { + const i = data.banners.find((e) => e.type === type && e.language === Cluar.currentLanguage().code); + if (i) { + return i; + } + return { type, language: Cluar.currentLanguage().code, title: type, content: type, image: null }; + } + + static content(type) { + const i = data.contents.find((e) => e.type === type && e.language === Cluar.currentLanguage().code); + if (i) { + return i; + } + return { type, language: Cluar.currentLanguage().code, title: type, content: type }; + } +} diff --git a/website/src/common/CluarCustomData.js b/website/src/common/CluarCustomData.js new file mode 100644 index 0000000..50b0957 --- /dev/null +++ b/website/src/common/CluarCustomData.js @@ -0,0 +1,6 @@ + +export default class CluarCustomData { + constructor(data) { + this.data = data; + } +} diff --git a/website/src/common/serviceWorker.js b/website/src/common/serviceWorker.js new file mode 100644 index 0000000..b04b771 --- /dev/null +++ b/website/src/common/serviceWorker.js @@ -0,0 +1,141 @@ +// This optional code is used to register a service worker. +// register() is not called by default. + +// This lets the app load faster on subsequent visits in production, and gives +// it offline capabilities. However, it also means that developers (and users) +// will only see deployed updates on subsequent visits to a page, after all the +// existing tabs open on the page have been closed, since previously cached +// resources are updated in the background. + +// To learn more about the benefits of this model and instructions on how to +// opt-in, read https://bit.ly/CRA-PWA + +const isLocalhost = Boolean( + window.location.hostname === 'localhost' || + // [::1] is the IPv6 localhost address. + window.location.hostname === '[::1]' || + // 127.0.0.0/8 are considered localhost for IPv4. + window.location.hostname.match( + /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ + ) +); + +export function register(config) { + if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { + // The URL constructor is available in all browsers that support SW. + const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href); + if (publicUrl.origin !== window.location.origin) { + // Our service worker won't work if PUBLIC_URL is on a different origin + // from what our page is served on. This might happen if a CDN is used to + // serve assets; see https://github.com/facebook/create-react-app/issues/2374 + return; + } + + window.addEventListener('load', () => { + const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; + + if (isLocalhost) { + // This is running on localhost. Let's check if a service worker still exists or not. + checkValidServiceWorker(swUrl, config); + + // Add some additional logging to localhost, pointing developers to the + // service worker/PWA documentation. + navigator.serviceWorker.ready.then(() => { + console.log( + 'This web app is being served cache-first by a service ' + + 'worker. To learn more, visit https://bit.ly/CRA-PWA' + ); + }); + } else { + // Is not localhost. Just register service worker + registerValidSW(swUrl, config); + } + }); + } +} + +function registerValidSW(swUrl, config) { + navigator.serviceWorker + .register(swUrl) + .then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + console.log( + 'New content is available and will be used when all ' + + 'tabs for this page are closed. See https://bit.ly/CRA-PWA.' + ); + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }) + .catch(error => { + console.error('Error during service worker registration:', error); + }); +} + +function checkValidServiceWorker(swUrl, config) { + // Check if the service worker can be found. If it can't reload the page. + fetch(swUrl, { + headers: { 'Service-Worker': 'script' }, + }) + .then(response => { + // Ensure service worker exists, and that we really are getting a JS file. + const contentType = response.headers.get('content-type'); + if ( + response.status === 404 || + (contentType != null && contentType.indexOf('javascript') === -1) + ) { + // No service worker found. Probably a different app. Reload the page. + navigator.serviceWorker.ready.then(registration => { + registration.unregister().then(() => { + window.location.reload(); + }); + }); + } else { + // Service worker found. Proceed as normal. + registerValidSW(swUrl, config); + } + }) + .catch(() => { + console.log( + 'No internet connection found. App is running in offline mode.' + ); + }); +} + +export function unregister() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.ready + .then(registration => { + registration.unregister(); + }) + .catch(error => { + console.error(error.message); + }); + } +} diff --git a/website/src/components/Actions/Item/index.js b/website/src/components/Actions/Item/index.js new file mode 100644 index 0000000..23f13db --- /dev/null +++ b/website/src/components/Actions/Item/index.js @@ -0,0 +1,17 @@ +import React from 'react'; + +import './index.less'; + +function Item({ section, type, title, content, indication, link }) { + return ( +
  • +
    window.location = link}> + { title !== '' ?

    {title}

    : null} + { content.replace(/ /g,'') !== '' ?

    : null } + { indication !== '' ? {indication} : null} +

    +
  • + ); +} + +export default Item; \ No newline at end of file diff --git a/website/src/components/Actions/Item/index.less b/website/src/components/Actions/Item/index.less new file mode 100644 index 0000000..54761dd --- /dev/null +++ b/website/src/components/Actions/Item/index.less @@ -0,0 +1,39 @@ +@import "../../../styles/variables.less"; + +.actions__item { + width: 280px; + padding: 15px; + margin: 0 0 20px 0; + @media only screen and (max-width: @header-mobile-width) { + margin: 0; + } + border: @actions-item-border-width solid @actions-item-border-color; + border-radius: @actions-item-border-radius; + transition: all .1s ease-in; + background-color: @actions-item-background; + color: @actions-item-text-color; + font-weight: 600; + &:hover { + cursor: pointer; + background-color: @actions-item-background-hover; + color: @actions-item-text-color-hover; + a { + color: @actions-item-link-color-hover; + } + } + + h4 { + color: @actions-item-text-color; + font-size: 1.2em; + margin-bottom: 0.2em; + } + p { + font-size: 1.0em; + margin-bottom: 0.5em; + } + a { + text-transform: uppercase; + font-size: 1.0em; + color: @actions-item-link-color; + } +} diff --git a/website/src/components/Actions/index.js b/website/src/components/Actions/index.js new file mode 100644 index 0000000..c6479b5 --- /dev/null +++ b/website/src/components/Actions/index.js @@ -0,0 +1,22 @@ +import React from 'react'; + +import Item from './Item'; + +import './index.less'; + +function Actions({ section, type, actions }) { + const list = []; + for (const action of actions) { + list.push(); + } + if (list.length === 0) { + return null; + } + return ( +
      + {list} +
    + ); +} + +export default Actions; \ No newline at end of file diff --git a/website/src/components/Actions/index.less b/website/src/components/Actions/index.less new file mode 100644 index 0000000..07b64a5 --- /dev/null +++ b/website/src/components/Actions/index.less @@ -0,0 +1,10 @@ +.actions { + list-style-type: none; + margin: 0; + padding: 0 0 0 20px; + @media only screen and (max-width: 800px) { + padding: 0 0 0 0; + display: flex; + flex-wrap: wrap; + } +} diff --git a/website/src/components/Banner/index.js b/website/src/components/Banner/index.js new file mode 100644 index 0000000..6146aca --- /dev/null +++ b/website/src/components/Banner/index.js @@ -0,0 +1,40 @@ +import React from 'react'; +import { Row, Col } from 'antd'; + +import Actions from '../Actions'; +import Cluar from '../../common/Cluar'; + +import './index.less'; + +function Banner({ section, type, image, image_title, image_alt, title, content, position, actions }) { + let backgroundPositionX = position.x !== "" ? position.x : "50%"; + let backgroundPositionY = position.y !== "" ? position.y : "50%"; + + return ( +
    +
    + + +
    +

    REACT {title}

    +
    +
    + + + + +
    +
    + {Cluar.plainDictionary('text-sub-banner')} +
    +
    +
    +
    + ); +} + +export default Banner; \ No newline at end of file diff --git a/website/src/components/Banner/index.less b/website/src/components/Banner/index.less new file mode 100644 index 0000000..632dabd --- /dev/null +++ b/website/src/components/Banner/index.less @@ -0,0 +1,170 @@ +@import "../../styles/variables.less"; + +.banner { + position: relative; + + &__wrapper{ + width: 100%; + max-width: @site-max-width; + margin-top: -32px; + + @media only screen and (max-width: @header-mobile-width) { + margin-top: 0 + } + } + + &__sub-banner { + display: none; + position: absolute; + bottom: 32px; + left: 0; + background-color: @banner-sub-banner-bg; + padding: 15px 0; + width: 100% !important; + text-align: center; + font-weight: bold; + font-size: 1.3em; + letter-spacing: .025em; + box-shadow: @banner-sub-banner-box-shadow; + color: @banner-sub-banner-color; + @media only screen and (max-width: @header-mobile-width) { + font-size: 1.2em; + bottom: 0 + } + } + + &__default-sub-banner { + padding-top: calc(1.8em + 30px) !important; + padding-bottom: calc(1.8em + 30px) !important; + .banner__sub-banner { + display: block; + } + > div > div > div { + p { + margin-bottom: 0; + &:nth-last-child(1) { + margin-bottom: 1em; + } + } + } + @media only screen and (max-width: @header-mobile-width) { + > div > div > div { + margin: auto; + } + } + } + + &__default, &__default-sub-banner { + min-height: 600px; + height: calc(100vh - @header-size); + @media only screen and (max-width: @header-mobile-width) { + height: calc(100vh - @header-size-mobile); + } + .banner__darken-bg { + display: none; + } + } + &__secondary { + position: relative; + height: calc(40vh - @header-size); + text-align: left; + @media only screen and (max-width: @header-mobile-width) { + height: calc(30vh - @header-size-mobile); + } + div:nth-child(1) { + z-index: 2; + h2 { + text-shadow: 0 0 10px @banner-secondary-text-shadow; + } + } + .banner__darken-bg { + width: 100%; + height: 100%; + background-color: @banner-secondary-darken-bg-color; + position: absolute; + z-index: 1; + } + @media only screen and (max-width: @header-mobile-width) { + height: calc(33vh - @header-size-mobile) !important; + } + } + > div { + display: flex; + align-items: center; + justify-content: center; + text-align: left; + padding: 0 50px; + width: 100%; + background-color: #777; + background-size: cover; + background-attachment: fixed; + background-repeat: no-repeat; + + @media only screen and (max-width: @header-mobile-width) { + height: calc(100vh - @header-size-mobile); + min-height: unset; + text-align: center; + padding: 0; + } + > div { + width: 100%; + > div { + > div { + width: calc(80% - 40px); + height: auto; + > h1 { + margin-bottom: 0; + font-weight: 200; + font-size: 3.5em; + color: #fff; + letter-spacing: .01em; + @media only screen and (max-width: @header-mobile-width) { + font-size: 2em; + line-height: 1.2em; + margin-bottom: 10px; + } + } + @media only screen and (max-width: @header-mobile-width) { + width: 100%; + padding: 0 20px + } + > div { + > p { + font-size: 1.4em; + color: #fff; + @media only screen and (max-width: @header-mobile-width) { + font-size: 1.5em; + line-height: 1.5em; + } + } + } + } + } + .actions { + position: relative; + display: inline-block; + padding-left: 0; + text-align: center; + .actions__item { + h4 { + font-size: 1.0em; + margin-bottom: 0.1em; + } + p { + font-size: 1.1em; + margin-bottom: 0.1em; + } + a { + font-size: 1em + } + &:hover { + h4 { + color: #000000; + } + } + } + } + } + } +} + \ No newline at end of file diff --git a/website/src/components/Configuration/index.js b/website/src/components/Configuration/index.js new file mode 100644 index 0000000..57efa2a --- /dev/null +++ b/website/src/components/Configuration/index.js @@ -0,0 +1,18 @@ +import React from 'react'; + +import Cluar from '../../common/Cluar'; + +function Configuration({parameter, number, multilines}) { + let value = Cluar.configuration(parameter); + if (multilines) { + value = Cluar.configurationMultilines(parameter); + } + if (number) { + value = Cluar.configurationNumber(parameter); + } + return ( + + ); +} + +export default Configuration; \ No newline at end of file diff --git a/website/src/components/Content/index.js b/website/src/components/Content/index.js new file mode 100644 index 0000000..0376fff --- /dev/null +++ b/website/src/components/Content/index.js @@ -0,0 +1,122 @@ +import React from 'react'; +import { Row, Col } from 'antd'; + +import Actions from '../Actions'; + +import './index.less'; + +function Content({section, type, title, content, image, image_title, image_alt, image_max_width, actions}) { + let layout = null; + const imageStyle = {}; + if (image_max_width > 0) { + imageStyle["maxWidth"] = `${image_max_width}px`; + } + if (type === 'text') { + layout = ( +
    +
    +

    { title }

    + { title ?
    : null } +
    +
    +
    + ); + } else if (type === 'image-left') { + layout = ( +
    + + +
    + { +
    + + +
    +

    { title }

    +
    +
    + +
    +
    + ); + } else if (type === 'image-right') { + layout = ( +
    + + +
    +

    { title }

    +
    +
    +
    + + +
    + { +
    + +
    +
    + ); + } else if (type === 'image-top') { + layout = ( +
    +
    + { +
    +
    +

    { title }

    +
    +
    +
    + ); + } else if (type === 'image-bottom') { + layout = ( +
    +
    +

    { title }

    +
    +
    +
    + { +
    +
    + ); + } else if (type === 'image') { + layout = ( +
    +
    + { +
    +
    + ); + } else if (type === 'meu-tipo') { + layout = ( +
    +
    +

    {title}

    +
    +
    + ); + } else { + layout = ( +
    +
    + { +
    +
    +

    { title }

    +
    +
    +
    + ); + } + return ( +
    + { layout } + +
    + ); +} + +export default Content; \ No newline at end of file diff --git a/website/src/components/Content/index.less b/website/src/components/Content/index.less new file mode 100644 index 0000000..da7ecda --- /dev/null +++ b/website/src/components/Content/index.less @@ -0,0 +1,127 @@ +@import "../../styles/variables.less"; + +.content { + width: 100%; + max-width: calc(@site-max-width + 120px); + margin: 50px auto; + padding: 0 60px; + display: flex; + @media only screen and (max-width: 800px) { + padding: 0 20px; + margin: 20px auto; + flex-wrap: wrap; + } + + > div { + width: 100%; + } + + > ul.actions { + width: 300px; + @media only screen and (max-width: 800px) { + width: 100%; + } + } + + .image { + width: 100%; + height: auto; + img { + display: block; + margin-left: auto; + margin-right: auto; + } + } + + .text { + > h1 { + font-size: 2em; + font-weight: normal; + letter-spacing: .01em; + } + + > div { + font-size: 1.2em; + > ul { + margin-left: 40px !important; + } + } + } + + &__meu-tipo { + .text { + > h1 { + color: lighten(#00ff00, 20%); + } + } + background-color: red; + } + + &__text { + + } + + &__image-left { + + } + &__image-right { + + } + &__image-top { + + } + &__image-bottom { + + } + + &__text-service { + > h1 { + font-size: 2em; + font-weight: normal; + letter-spacing: .01em; + } + &__title-border { + height: 4px; + width: 8vw; + margin-top: -1em; + margin-bottom: 1em; + background: rgb(255,255,255); + } + .ant-btn { + height: 50px; + min-width: 190px; + > span { + text-transform: uppercase; + letter-spacing: .05em; + font-size: 1.2em; + padding: 0 20px; + } + } + } + + .actions__item { + background-color: @primary-color; + text-align: center; + border-color: @primary-color; + h4 { + color: #ffffff; + } + a { + color: @secondary-color; + } + &:hover { + cursor: pointer; + background-color: @secondary-color; + color: #000000; + h4 { + color: #000000; + } + a { + color: @primary-color; + } + } + } +} + + + diff --git a/website/src/components/Dictionary/index.js b/website/src/components/Dictionary/index.js new file mode 100644 index 0000000..5f0b2aa --- /dev/null +++ b/website/src/components/Dictionary/index.js @@ -0,0 +1,20 @@ +import React from 'react'; + +import Cluar from '../../common/Cluar'; + +function Dictionary({entry, oneLine, noParagraph}) { + let value = Cluar.dictionary(entry); + if (noParagraph) { + value = Cluar.dictionaryNoParagraph(entry); + } else if (oneLine) { + value = Cluar.plainDictionary(entry); + return ( + + ) + } + return ( +
    + ); +} + +export default Dictionary; \ No newline at end of file diff --git a/website/src/components/Listing/Item/index.js b/website/src/components/Listing/Item/index.js new file mode 100644 index 0000000..a068254 --- /dev/null +++ b/website/src/components/Listing/Item/index.js @@ -0,0 +1,59 @@ +import React from 'react'; +import { Col } from 'antd'; + +import './index.less'; + +function Item({ section, type, image, image_title, image_alt, title, content, link }) { + let layout = null; + if (type === 'YOUR-CUSTOM-TYPE-HERE') { + layout = ( + + + {title} +
    +
    + + ); + } else if(type === 'OTHER-CUSTOM-TYPE-HERE') { + layout = ( +
  • +
    +

    {title}

    +
    +
    +
  • + ); + } else if(type === 'generica') { + layout = ( + +
    +

    TESTE!! {title}

    + { +
    +
    + + ); + } else if(type === 'carrossel') { + layout = ( +
    + { +

    +
    + ); + } else { + layout = ( +
  • +
    +

    TESTE!! {title}

    + { +
    +
    +
  • + ); + } + return ( + layout + ); +} + +export default Item; \ No newline at end of file diff --git a/website/src/components/Listing/Item/index.less b/website/src/components/Listing/Item/index.less new file mode 100644 index 0000000..e69de29 diff --git a/website/src/components/Listing/ItemGenerico/index.js b/website/src/components/Listing/ItemGenerico/index.js new file mode 100644 index 0000000..bd38458 --- /dev/null +++ b/website/src/components/Listing/ItemGenerico/index.js @@ -0,0 +1,8 @@ +import React from 'react'; + +function ItemGenerico(props) { + const {title} = props; + return

    AAA TESTE - {title}

    ; +} + +export default ItemGenerico; \ No newline at end of file diff --git a/website/src/components/Listing/index.js b/website/src/components/Listing/index.js new file mode 100644 index 0000000..d2e1865 --- /dev/null +++ b/website/src/components/Listing/index.js @@ -0,0 +1,73 @@ +import React from 'react'; +import { Row, Pagination } from 'antd'; +import { Carousel } from 'react-responsive-carousel'; +import Item from './Item'; +import ItemGenerico from './ItemGenerico'; + +import './index.less'; + +function Listing({section, type, image, image_title, image_alt, title, content, items}) { + const children = []; + items.map((item) => { + children.push(); + return null; + }); + let listLayout = ( +
    +

    { title }

    +
    +
    +
      + { children } +
    +
    + ); + + if (type === 'YOUR-CUSTOM-TYPE-HERE') { + listLayout = ( + + { children } + + ); + } else if (type === 'OTHER-CUSTOM-TYPE-HERE') { + listLayout = ( + + { children } + + ); + } else if (type === 'generica') { + listLayout = ( +
    +

    { title }

    +
    +
    + + {items.map((item) => { + return + })} + + { children } + +
    + ); + } else if (type === 'carrossel') { + listLayout = ( +
    +

    { title }

    +
    +
    + + { children } + +
    + ); + } + + return ( +
    + { listLayout } +
    + ); +} + +export default Listing; \ No newline at end of file diff --git a/website/src/components/Listing/index.less b/website/src/components/Listing/index.less new file mode 100644 index 0000000..5da93ad --- /dev/null +++ b/website/src/components/Listing/index.less @@ -0,0 +1,58 @@ +@import "../../styles/variables.less"; + +.listing { + margin: auto; + max-width: 80%; + padding: 50px 60px 0; + display: flex; + font-family: 'Playfair Display', serif; + font-weight: 800; + @media only screen and (max-width: 800px) { + padding: 20px 0; + margin: 20px auto; + flex-wrap: wrap; + } + &__title-border { + height: 4px; + width: 8vw; + margin-top: -1em; + margin-bottom: 1em; + background: rgb(255,255,255); + background: linear-gradient(90deg, @primary-color 0%, @secondary-color 100%); + } + + > div > h1 { + font-size: 2em; + font-weight: normal; + letter-spacing: .01em; + } + > div > div { + font-size: 1.2em; + } + + > div { + > ul { + list-style-type: none; + margin: 0; + padding: 0; + + background: red; + + } + > div.ant-row { + &.listing__generica { + background: green; + } + > img { + width: 100%; + } + > div.ant-col { + background: cyan; + &:nth-child(even) { + background: grey; + + } + } + } + } +} diff --git a/website/src/components/functionality/ContactForm/index.js b/website/src/components/functionality/ContactForm/index.js new file mode 100644 index 0000000..0c84aa3 --- /dev/null +++ b/website/src/components/functionality/ContactForm/index.js @@ -0,0 +1,100 @@ +import React, { useState } from 'react'; +import { Row, Col, Form, Input, Button, notification } from 'antd'; +import _service from '@netuno/service-client'; +import Cluar from '../../../common/Cluar'; + +import './index.less'; + +const { TextArea } = Input; + +function ContactForm({ title }) { + const validateMessages = { + required: Cluar.plainDictionary('contact-form-validate-message-required'), + types: { + email: Cluar.plainDictionary('contact-form-validate-message-email') + } + }; + + const layout = { + rowGutter: { gutter: [25, 0] }, + labelCol: {span: 'hide'} + }; + + const [ loading, setLoading ] = useState(false); + const handleFinish = (values)=> { + values.contactForm.locale = window.localStorage.getItem('locale'); + setLoading(true); + const fail = () => { + setLoading(false); + notification.error({ + message: title , + description: Cluar.plainDictionary('contact-form-fail'), + top: 100 + }); + }; + _service({ + url: "contact", + method: 'POST', + data: values.contactForm, + success: (response) => { + if (response.json && response.json.result === true) { + setLoading(false); + notification.success({ + message: title , + description: Cluar.plainDictionary('contact-form-success'), + top: 100 + }); + } else { + fail(); + } + }, + fail: (e) => { + console.log("ContactForm failed:", e); + fail(); + } + }); + }; + return ( +
    +
    +
    +

    {title}

    + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +

    + {Cluar.currentLanguage().locale === 'pt' && <>Utilizamos cookies no nosso website para lhe proporcionar a experiência mais relevante, para mais informações consulte a nossa política de cookies e privacidade. } + {Cluar.currentLanguage().locale === 'en' && <>We use cookies to provide you the best experience, check our cookies and privacy policy. } +

    + +
    +
    +