Merge pull request #385 from eventcally/issues/384

Renaming #384
This commit is contained in:
Daniel Grams 2023-03-22 13:38:05 +01:00 committed by GitHub
commit 6c517f8324
31 changed files with 98 additions and 98 deletions

View File

@ -27,7 +27,7 @@ jobs:
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: gsevpt_tests
POSTGRES_DB: eventcally_tests
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
@ -58,7 +58,7 @@ jobs:
flask test seed
gunicorn -b 127.0.0.1:5001 -w 1 project:app --daemon
env:
DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests
DATABASE_URL: postgresql://postgres:postgres@localhost/eventcally_tests
TESTING: 1
AUTHLIB_INSECURE_TRANSPORT: 1
JWT_PRIVATE_KEY: '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAxMl+DFiwhnoWRiVPcEIstAW66VY39JNo1TG1U10OfaFMuWI8\njcq5VfSRPBdXLRqAJwZi4CZCwOglEvURArf1QTxVBdLpDW75tD6fNOHaHKvX5WPR\nMGC/7Rfo9K/OgEWnQplc/0Me9D8MzTpIA56Uo/H/DE82kGWOMcWdqIA40pHaCZ7i\nWIoD7pS6DcRDt/8o0+IQqhMC4SrjL2HelzXHpg4glgY+GLbvTPOfV/OlFCAWDK3o\nN3wMBYS+TFP2Q/5pXfPCajIrSfF7dHyZU2d/K26A8naKcSUYuJzA8GBXkPx8YObt\nOS5SYYeD5GeGsX3IsVVyk3WqMVN7NXvRqmNjqQIDAQABAoIBABYoJbQYLFAH4Qgm\n3UnjeYsPdhsdpRE5o70VargnKyGEDtJ0uCKy56lA7zVX323ppPI/6tQYGr4DpWD8\nDN1Efy3IMD6Gn8zuaNkdj+lxYJCH3LgsQ/pxekqkvYsHXHXe4dVC1VC8avjPPI7C\n+CbILS5EahYluRwLAzahbH3zafJzXK6qxVCaPBn1QAG/b5FhGCoSSmar+6gxypX1\nIt977gMaZ9sbaRCfQ2BYEeRyWcBvPPWnM1q87Q/s4dFcHplE6ADLtTOAtFzwKne+\n0jP8AvcnQ6/vG7lM7epUfZLyPRt+79PIAj1ndtff10vGwVwoVuhGuwumIp7vMxQq\nF8VC5o0CgYEA/escZHgN25mrUlKhaGWmtxIfqreaLKjCc/mc1pMEfnMAVgrcVUu4\nMiAx6/k6o9CUrPtNUuKktAuAZMAN505it2k9wjwmu+snfgwj2oMKHGsss9yJ19Fc\nlKdoHE4QeHMQWnIqqN/lRza/tfUPlMDLY04gxMZR1R7Y7L2Hf2aLxQMCgYEAxmZ7\najpJResNEiSxFldImwBLjuLhqvOzPYDsqBpwB0gQOJtbKuPPzKB6J8guXVi+DHDz\neTKOAm3BQymb2xRuyvrclFi4a1LWFWsTz+PAMXss2h+TjGm1dkAYt/FiSqyuyLY5\n48igJjdH64G2M4w8eN0YUtKvQRqaZ37jFMbR5uMCgYEAkONbrCilH62sCKmF2KBI\nZSY+U5e4rcsOSkcgq3/wjIbqpi5EU5eFX3Tnh5MLVvZqH9q14JnbCbGWbeb5CAe+\nZJH036SbJZelTVN4EfO8DUNKmsc5EKEyhtCPo7cXxuNBbZq/pOU9W0luU1Gmtmbc\np6mpIR9ZCpcziMMNUjEdiCkCgYB8aoP2Z7rPd8lomU3cHrxPR24amri9xbmfVhwS\nhxG93zkc5n/Tc606O2CfVe+NZjs3/hUQ6d0YNM+/WHZ+el/INmzhMonj87yBDfcM\npVw/K2lDGA4lPZ0oHKXjpCHphkTNZUkESSn1DTGyxFMIHGdHvA6m0axJfW9ae73X\np5611QKBgQC/wOD9Wv6IQLR7f5GQSXrlmiCGmUugd3BG7UXrevYzbm48ePyIIa+e\nPaSvTkZR5Ji5XvajSDhYK1/2qmozk6B1pH1M4jqKD80zZOq8mc9q8lZ9fEIxi5wz\nPVHRdVKT+wEsbeQhxqX/RfaqIi1UcBmwhnZKXutXPon/ZIg7iVoo5g==\n-----END RSA PRIVATE KEY-----\n'
@ -75,7 +75,7 @@ jobs:
config-file: cypress/config/mobile.config.js
config: baseUrl=http://127.0.0.1:5001
env:
DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests
DATABASE_URL: postgresql://postgres:postgres@localhost/eventcally_tests
TESTING: 1
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
@ -101,7 +101,7 @@ jobs:
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: gsevpt_tests
POSTGRES_DB: eventcally_tests
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
@ -132,7 +132,7 @@ jobs:
flask test seed
gunicorn -b 127.0.0.1:5001 -w 1 project:app --daemon
env:
DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests
DATABASE_URL: postgresql://postgres:postgres@localhost/eventcally_tests
TESTING: 1
AUTHLIB_INSECURE_TRANSPORT: 1
JWT_PRIVATE_KEY: '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEAxMl+DFiwhnoWRiVPcEIstAW66VY39JNo1TG1U10OfaFMuWI8\njcq5VfSRPBdXLRqAJwZi4CZCwOglEvURArf1QTxVBdLpDW75tD6fNOHaHKvX5WPR\nMGC/7Rfo9K/OgEWnQplc/0Me9D8MzTpIA56Uo/H/DE82kGWOMcWdqIA40pHaCZ7i\nWIoD7pS6DcRDt/8o0+IQqhMC4SrjL2HelzXHpg4glgY+GLbvTPOfV/OlFCAWDK3o\nN3wMBYS+TFP2Q/5pXfPCajIrSfF7dHyZU2d/K26A8naKcSUYuJzA8GBXkPx8YObt\nOS5SYYeD5GeGsX3IsVVyk3WqMVN7NXvRqmNjqQIDAQABAoIBABYoJbQYLFAH4Qgm\n3UnjeYsPdhsdpRE5o70VargnKyGEDtJ0uCKy56lA7zVX323ppPI/6tQYGr4DpWD8\nDN1Efy3IMD6Gn8zuaNkdj+lxYJCH3LgsQ/pxekqkvYsHXHXe4dVC1VC8avjPPI7C\n+CbILS5EahYluRwLAzahbH3zafJzXK6qxVCaPBn1QAG/b5FhGCoSSmar+6gxypX1\nIt977gMaZ9sbaRCfQ2BYEeRyWcBvPPWnM1q87Q/s4dFcHplE6ADLtTOAtFzwKne+\n0jP8AvcnQ6/vG7lM7epUfZLyPRt+79PIAj1ndtff10vGwVwoVuhGuwumIp7vMxQq\nF8VC5o0CgYEA/escZHgN25mrUlKhaGWmtxIfqreaLKjCc/mc1pMEfnMAVgrcVUu4\nMiAx6/k6o9CUrPtNUuKktAuAZMAN505it2k9wjwmu+snfgwj2oMKHGsss9yJ19Fc\nlKdoHE4QeHMQWnIqqN/lRza/tfUPlMDLY04gxMZR1R7Y7L2Hf2aLxQMCgYEAxmZ7\najpJResNEiSxFldImwBLjuLhqvOzPYDsqBpwB0gQOJtbKuPPzKB6J8guXVi+DHDz\neTKOAm3BQymb2xRuyvrclFi4a1LWFWsTz+PAMXss2h+TjGm1dkAYt/FiSqyuyLY5\n48igJjdH64G2M4w8eN0YUtKvQRqaZ37jFMbR5uMCgYEAkONbrCilH62sCKmF2KBI\nZSY+U5e4rcsOSkcgq3/wjIbqpi5EU5eFX3Tnh5MLVvZqH9q14JnbCbGWbeb5CAe+\nZJH036SbJZelTVN4EfO8DUNKmsc5EKEyhtCPo7cXxuNBbZq/pOU9W0luU1Gmtmbc\np6mpIR9ZCpcziMMNUjEdiCkCgYB8aoP2Z7rPd8lomU3cHrxPR24amri9xbmfVhwS\nhxG93zkc5n/Tc606O2CfVe+NZjs3/hUQ6d0YNM+/WHZ+el/INmzhMonj87yBDfcM\npVw/K2lDGA4lPZ0oHKXjpCHphkTNZUkESSn1DTGyxFMIHGdHvA6m0axJfW9ae73X\np5611QKBgQC/wOD9Wv6IQLR7f5GQSXrlmiCGmUugd3BG7UXrevYzbm48ePyIIa+e\nPaSvTkZR5Ji5XvajSDhYK1/2qmozk6B1pH1M4jqKD80zZOq8mc9q8lZ9fEIxi5wz\nPVHRdVKT+wEsbeQhxqX/RfaqIi1UcBmwhnZKXutXPon/ZIg7iVoo5g==\n-----END RSA PRIVATE KEY-----\n'
@ -149,7 +149,7 @@ jobs:
config-file: cypress/config/desktop.config.js
config: baseUrl=http://127.0.0.1:5001
env:
DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests
DATABASE_URL: postgresql://postgres:postgres@localhost/eventcally_tests
TESTING: 1
CYPRESS_PROJECT_ID: ${{ secrets.CYPRESS_PROJECT_ID }}
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}

View File

@ -17,7 +17,7 @@ jobs:
id: docker_meta
uses: crazy-max/ghaction-docker-meta@v1
with:
images: danielgrams/gsevpt
images: eventcally/eventcally
tag-semver: |
{{version}}
{{major}}.{{minor}}

View File

@ -24,7 +24,7 @@ jobs:
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: gsevpt_tests
POSTGRES_DB: eventcally_tests
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
@ -52,7 +52,7 @@ jobs:
- name: Run tests
run: pytest --cov=project --splits 4 --group ${{ matrix.group }}
env:
TEST_DATABASE_URL: postgresql://postgres:postgres@localhost/gsevpt_tests
TEST_DATABASE_URL: postgresql://postgres:postgres@localhost/eventcally_tests
- name: Upload coverage
uses: actions/upload-artifact@v2

View File

@ -1,6 +1,6 @@
# Open Event Database
![Tests](https://github.com/DanielGrams/gsevpt/workflows/Tests/badge.svg) [![codecov](https://codecov.io/gh/DanielGrams/gsevpt/branch/main/graph/badge.svg?token=66CLLWWV7Y)](https://codecov.io/gh/DanielGrams/gsevpt) [![Cypress](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/32g194/main&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/32g194/runs) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ![Docker Pulls](https://img.shields.io/docker/pulls/danielgrams/gsevpt)
![Tests](https://github.com/eventcally/eventcally/workflows/Tests/badge.svg) [![codecov](https://codecov.io/gh/eventcally/eventcally/branch/main/graph/badge.svg?token=66CLLWWV7Y)](https://codecov.io/gh/eventcally/eventcally) [![Cypress](https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/32g194/main&style=flat&logo=cypress)](https://dashboard.cypress.io/projects/32g194/runs) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ![Docker Pulls](https://img.shields.io/docker/pulls/eventcally/eventcally)
Event website using Python, Flask and Postgres.

View File

@ -30,7 +30,7 @@ describe("User", () => {
cy.get("#password").type("short");
cy.assertInvalid("password", "Geben Sie bitte mindestens 8 Zeichen ein.");
cy.get("#password").clear().type("ilovegsevpt");
cy.get("#password").clear().type("iloveeventcally");
cy.assertValid("password");
// Confirm password
@ -40,7 +40,7 @@ describe("User", () => {
"Wiederholen Sie bitte denselben Wert."
);
cy.get("#password_confirm").clear().type("ilovegsevpt");
cy.get("#password_confirm").clear().type("iloveeventcally");
cy.assertValid("password_confirm");
// Submit

View File

@ -7,9 +7,9 @@ FLUENTD_LOG_PATH=./tmp/logs/fluentd
FLUENTD_CUSTOM_CONFIG_PATH=./tmp/config
FLUENTD_DOCKER_CONTAINERS_PATH=/var/lib/docker/containers
POSTGRES_USER=gsevpt
POSTGRES_USER=eventcally
POSTGRES_PASSWORD=
POSTGRES_DB=gsevpt
POSTGRES_DB=eventcally
REDIS_PASSWORD=
WEB_TAG=latest

View File

@ -1,5 +1,5 @@
version: "3.9"
name: "gsevpt"
name: "eventcally"
x-web-env:
&default-web-env
@ -27,7 +27,7 @@ x-web-env:
x-web:
&default-web
image: danielgrams/gsevpt:${WEB_TAG}
image: eventcally/eventcally:${WEB_TAG}
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"

View File

@ -3,11 +3,11 @@ http {
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/vhosts/gsevpt.de;
root /var/www/vhosts/eventcally.de;
server_name _;
location ^~ /image/ {
root "/var/www/vhosts/gsevpt.de/cache/img";
root "/var/www/vhosts/eventcally.de/cache/img";
expires 1h;
location ~ ^/image/(?<id>[0-9]+)/(?<hash>[0-9]+) {
@ -25,23 +25,23 @@ http {
}
}
location ^~ /static/ {
root "/var/www/vhosts/gsevpt.de/";
root "/var/www/vhosts/eventcally.de/";
location ~ ^/static/(.*)$ {
try_files /static-custom/$1 /static/$1 @docker;
}
}
location ^~ /dump/ {
alias "/var/www/vhosts/gsevpt.de/cache/dump/";
alias "/var/www/vhosts/eventcally.de/cache/dump/";
}
location ^~ /sitemap.xml {
alias "/var/www/vhosts/gsevpt.de/cache/sitemap.xml";
alias "/var/www/vhosts/eventcally.de/cache/sitemap.xml";
}
location ^~ /robots.txt {
alias "/var/www/vhosts/gsevpt.de/cache/robots.txt";
alias "/var/www/vhosts/eventcally.de/cache/robots.txt";
}
location ^~ /favicon.ico {
alias "/var/www/vhosts/gsevpt.de/static/favicon.ico";
alias "/var/www/vhosts/eventcally.de/static/favicon.ico";
expires 12h;
}
location @docker {

View File

@ -7,7 +7,7 @@
## Docker
```sh
docker run -p 5000:5000 -e "DATABASE_URL=postgresql://postgres@localhost/gsevpt" danielgrams/gsevpt:latest
docker run -p 5000:5000 -e "DATABASE_URL=postgresql://postgres@localhost/eventcally" eventcally/eventcally:latest
```
## Manual Installation
@ -21,7 +21,7 @@ docker run -p 5000:5000 -e "DATABASE_URL=postgresql://postgres@localhost/gsevpt"
### Create database
```sh
psql -c 'create database gsevpt;' -U postgres
psql -c 'create database eventcally;' -U postgres
```
### Install and run
@ -30,7 +30,7 @@ psql -c 'create database gsevpt;' -U postgres
python3 -m venv venv
source venv/bin/activate
(venv) pip install -r requirements.txt
(venv) export DATABASE_URL='postgresql://postgres@localhost/gsevpt'
(venv) export DATABASE_URL='postgresql://postgres@localhost/eventcally'
(venv) flask db upgrade
(venv) gunicorn -c gunicorn.conf.py project:app
```

View File

@ -5,8 +5,8 @@
### Create test database
```sh
psql -c 'create database gsevpt_tests;' -U postgres
psql -c 'create extension postgis;' -d gsevpt_tests -U postgres
psql -c 'create database eventcally_tests;' -U postgres
psql -c 'create extension postgis;' -d eventcally_tests -U postgres
```
### Run tests
@ -68,13 +68,13 @@ pybabel compile -d project/translations
### Build image
```sh
docker build -t danielgrams/gsevpt:latest .
docker build -t eventcally/eventcally:latest .
```
### Run container with existing postgres server
```sh
docker run -p 5000:5000 -e "DATABASE_URL=postgresql://postgres@host.docker.internal/gsevpt" danielgrams/gsevpt:latest
docker run -p 5000:5000 -e "DATABASE_URL=postgresql://postgres@host.docker.internal/eventcally" eventcally/eventcally:latest
```
### Compose (including dependencies)

View File

@ -1,12 +1,12 @@
version: "3.9"
name: "gsevpt-dev"
name: "eventcally-dev"
x-web-env:
&default-web-env
FLASK_APP: main.py
DATABASE_URL: postgresql://gsevpt:pass@db/gsevpt
DATABASE_URL: postgresql://eventcally:pass@db/eventcally
REDIS_URL: redis://default:pass@redis
MAIL_DEFAULT_SENDER: noresponse@gsevpt.de
MAIL_DEFAULT_SENDER: noresponse@eventcally.de
MAIL_SERVER: mailhog
MAIL_PORT: 1025
MAIL_USE_TLS: False
@ -32,11 +32,11 @@ services:
db:
image: postgis/postgis:12-3.1
healthcheck:
test: "pg_isready --username=gsevpt && psql --username=gsevpt --list"
test: "pg_isready --username=eventcally && psql --username=eventcally --list"
start_period: "5s"
environment:
- POSTGRES_DB=gsevpt
- POSTGRES_USER=gsevpt
- POSTGRES_DB=eventcally
- POSTGRES_USER=eventcally
- POSTGRES_PASSWORD=pass
redis:

4
package-lock.json generated
View File

@ -1,11 +1,11 @@
{
"name": "gsevpt",
"name": "eventcally",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "gsevpt",
"name": "eventcally",
"version": "1.0.0",
"license": "ISC",
"devDependencies": {

View File

@ -1,7 +1,7 @@
{
"name": "gsevpt",
"name": "eventcally",
"version": "1.0.0",
"description": "![Tests](https://github.com/DanielGrams/gsevpt/workflows/Tests/badge.svg) [![codecov](https://codecov.io/gh/DanielGrams/gsevpt/branch/main/graph/badge.svg?token=66CLLWWV7Y)](https://codecov.io/gh/DanielGrams/gsevpt) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) ![Docker Pulls](https://img.shields.io/docker/pulls/danielgrams/gsevpt)",
"description": "Open event database",
"main": "index.js",
"directories": {
"doc": "doc",
@ -13,14 +13,14 @@
},
"repository": {
"type": "git",
"url": "git+https://github.com/DanielGrams/gsevpt.git"
"url": "git+https://github.com/eventcally/eventcally.git"
},
"author": "",
"license": "ISC",
"bugs": {
"url": "https://github.com/DanielGrams/gsevpt/issues"
"url": "https://github.com/eventcally/eventcally/issues"
},
"homepage": "https://github.com/DanielGrams/gsevpt#readme",
"homepage": "https://github.com/eventcally/eventcally#readme",
"devDependencies": {
"cd": "^0.3.3",
"cypress": "^12.8.1",

View File

@ -34,7 +34,7 @@ app.config["SECURITY_RECOVERABLE"] = True
app.config["SECURITY_CHANGEABLE"] = True
app.config["SECURITY_EMAIL_SENDER"] = os.getenv("MAIL_DEFAULT_SENDER")
app.config["LANGUAGES"] = ["en", "de"]
app.config["SITE_NAME"] = os.getenv("SITE_NAME", "gsevpt")
app.config["SITE_NAME"] = os.getenv("SITE_NAME", "eventcally")
app.config["SERVER_NAME"] = os.getenv("SERVER_NAME")
app.config["DOCS_URL"] = os.getenv("DOCS_URL")
app.config["ADMIN_UNIT_CREATE_REQUIRES_ADMIN"] = os.getenv(
@ -141,7 +141,7 @@ mail_server = os.getenv("MAIL_SERVER")
if not mail_server:
app.config["MAIL_SUPPRESS_SEND"] = True
app.config["MAIL_DEFAULT_SENDER"] = "test@gsevpt.de"
app.config["MAIL_DEFAULT_SENDER"] = "test@eventcally.de"
else: # pragma: no cover
app.config["MAIL_SUPPRESS_SEND"] = False
app.config["MAIL_SERVER"] = mail_server

View File

@ -115,13 +115,13 @@ def seed():
def _verify_admin_unit(admin_unit_id):
from project.services.admin_unit import get_admin_unit_by_name
other_admin_unit = get_admin_unit_by_name("gsevpt")
other_admin_unit = get_admin_unit_by_name("eventcally")
if other_admin_unit:
other_admin_unit_id = other_admin_unit.id
else:
other_user_id = _create_user("unverified@test.de")
other_admin_unit_id = _create_admin_unit(other_user_id, "gsevpt")
other_admin_unit_id = _create_admin_unit(other_user_id, "eventcally")
_create_admin_unit_relation(
other_admin_unit_id,

View File

@ -232,7 +232,7 @@ def calculate_occurrences(start_date, date_format, rrule_str, start, batch_size)
def create_icalendar() -> icalendar.Calendar:
cal = icalendar.Calendar()
cal.add("prodid", "-//gsevpt//github.com/DanielGrams/gsevpt//")
cal.add("prodid", "-//eventcally//github.com/eventcally/eventcally//")
cal.add("version", "2.0")
cal.add("x-wr-timezone", berlin_tz.zone)

View File

@ -353,7 +353,7 @@ function scroll_to_element(element, complete) {
}
(function($) {
function GsevptDateDefinition(element, options) {
function EventCallyDateDefinition(element, options) {
var self = this;
var container = $(element);
var prefix = container.attr('data-prefix');
@ -434,22 +434,22 @@ function scroll_to_element(element, complete) {
});
}
$.fn.gsevptDateDefinition = function(options) {
$.fn.eventcallyDateDefinition = function(options) {
var defaults = {};
var settings = $.extend({}, defaults, options);
if (this.length > 1) {
this.each(function() { $(this).gsevptDateDefinition(options) });
this.each(function() { $(this).eventcallyDateDefinition(options) });
return this;
}
if (this.data('gsevptDateDefinition')) {
return this.data('gsevptDateDefinition');
if (this.data('eventcallyDateDefinition')) {
return this.data('eventcallyDateDefinition');
}
var gsevptDateDefinition = new GsevptDateDefinition(this, settings);
this.data('gsevptDateDefinition', gsevptDateDefinition);
return gsevptDateDefinition;
var eventcallyDateDefinition = new EventCallyDateDefinition(this, settings);
this.data('eventcallyDateDefinition', eventcallyDateDefinition);
return eventcallyDateDefinition;
}
})(jQuery);

View File

@ -42,7 +42,7 @@ const OrganizationRead = {
</b-row>
<div>
<iframe id="gsevpt-widget" :src="'/' + organization.short_name + '/widget/eventdates'" style="width: 1px; min-width: 100%; max-width:100%;"></iframe>
<iframe id="eventcally-widget" :src="'/' + organization.short_name + '/widget/eventdates'" style="width: 1px; min-width: 100%; max-width:100%;"></iframe>
</div>
</div>
</b-overlay>
@ -72,7 +72,7 @@ const OrganizationRead = {
.then((response) => {
this.organization = response.data;
Vue.nextTick(function () {
iFrameResize({ minHeight: 300, onMessage: function(m) {} }, '#gsevpt-widget');
iFrameResize({ minHeight: 300, onMessage: function(m) {} }, '#eventcally-widget');
});
});
},

View File

@ -53,8 +53,8 @@ const WidgetConfigurator = {
<b-form-checkbox v-model="form.search.showPagination">
{{ $t("comp.search.pagination") }}
</b-form-checkbox>
<b-form-checkbox v-model="form.search.showGsevptLink">
{{ $t("comp.search.showGsevptLink") }}
<b-form-checkbox v-model="form.search.showEventCallyLink">
{{ $t("comp.search.showEventCallyLink") }}
</b-form-checkbox>
<b-form-checkbox v-model="form.search.showPrintButton">
{{ $t("comp.search.printButton") }}
@ -264,7 +264,7 @@ const WidgetConfigurator = {
eventListId: "Event list",
view: "Display",
showFilter: "Filter",
showGsevptLink: "Link",
showEventCallyLink: "Link",
layout: "Layout",
eventsPerPage: "Events per page",
event: "Event",
@ -310,7 +310,7 @@ const WidgetConfigurator = {
eventListId: "Veranstaltungsliste",
view: "Anzeige",
showFilter: "Filter",
showGsevptLink: "Link",
showEventCallyLink: "Link",
layout: "Layout",
eventsPerPage: "Events pro Seite",
event: "Event",
@ -354,7 +354,7 @@ const WidgetConfigurator = {
showFilter: true,
showPagination: true,
showPrintButton: false,
showGsevptLink: true,
showEventCallyLink: true,
fontFamily: "",
background: "#ffffff",
textColor: "#212529",
@ -498,7 +498,7 @@ const WidgetConfigurator = {
return;
}
resizer.sendMessage({'type': 'GSEVPT_WIDGET_SETTINGS_UPDATE_EVENT', 'data': this.settings});
resizer.sendMessage({'type': 'EVENTCALLY_WIDGET_SETTINGS_UPDATE_EVENT', 'data': this.settings});
},
resizePreview() {
const resizer = this.$refs.previewIframe.iFrameResizer;

View File

@ -104,10 +104,10 @@ const WidgetConfiguratorList = {
return this.$route.params.organization_id;
},
installationHeader() {
return "<!-- Event calendar widget -->\n<script>(function(w,d,s,o,f,js,fjs){w['GsevptWidget']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);}(window,document,'script','gsevpt','" + window.location.origin + "/static/widget-loader.js'));</script>\n<!-- End event calendar widget -->";
return "<!-- Event calendar widget -->\n<script>(function(w,d,s,o,f,js,fjs){w['EventCallyWidget']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);}(window,document,'script','eventcally','" + window.location.origin + "/static/widget-loader.js'));</script>\n<!-- End event calendar widget -->";
},
installationBody() {
return '<div class="gsevpt-widget" data-widget-id="' + this.installationWidgetId + '"></div>';
return '<div class="eventcally-widget" data-widget-id="' + this.installationWidgetId + '"></div>';
}
},
mounted() {

View File

@ -15,7 +15,7 @@
};
function initWidgets() {
var elements = d.getElementsByClassName("gsevpt-widget");
var elements = d.getElementsByClassName("eventcally-widget");
for (var i = 0; i < elements.length; i++) {
initIframeWidget(elements.item(i), i);
}
@ -79,8 +79,8 @@
}
var iFrame = d.createElement("iframe");
iFrame.id = "gsevpt-widget-iframe-" + index;
iFrame.class = "gsevpt-widget-iframe";
iFrame.id = "eventcally-widget-iframe-" + index;
iFrame.class = "eventcally-widget-iframe";
iFrame.src = src;
iFrame.style = style;
iFrame.frameborder = "0";
@ -172,7 +172,7 @@
(function(data) {
config.onInit = function (iFrame) {
iFrame.iFrameResizer.sendMessage({'type': 'gsevpt_WIDGET_SETTINGS_UPDATE_EVENT', 'data': data});
iFrame.iFrameResizer.sendMessage({'type': 'EVENTCALLY_WIDGET_SETTINGS_UPDATE_EVENT', 'data': data});
}
})(container.customWidgetData.settings);
}
@ -185,14 +185,14 @@
function onIframeMessage(messageData, googleTagManager) {
var message = messageData.message;
if (message.type == "gsevpt_ANALYTICS_EVENT") {
if (message.type == "EVENTCALLY_ANALYTICS_EVENT") {
trackAnalyticsEvent(message.data, googleTagManager);
}
}
function trackAnalyticsEvent(data, googleTagManager) {
if (googleTagManager) {
data.event = "gsevptWidget." + data.event;
data.event = "eventcallyWidget." + data.event;
if (window.dataLayer !== null && window.dataLayer !== undefined) {
window.dataLayer.push(data);

View File

@ -242,7 +242,7 @@ Vue.component('event-warning-pills', {
},
trackAnalyticsEvent(data) {
if ('parentIFrame' in window) {
parentIFrame.sendMessage({'type': 'GSEVPT_ANALYTICS_EVENT', 'data': data});
parentIFrame.sendMessage({'type': 'EVENTCALLY_ANALYTICS_EVENT', 'data': data});
}
}
}
@ -253,7 +253,7 @@ Vue.component('event-warning-pills', {
app.trackAnalyticsEvent({'event':'pageView', 'url':document.location.href});
},
onMessage: function(message) {
if (message.type != 'GSEVPT_WIDGET_SETTINGS_UPDATE_EVENT') {
if (message.type != 'EVENTCALLY_WIDGET_SETTINGS_UPDATE_EVENT') {
return;
}

View File

@ -219,7 +219,7 @@
></b-pagination>
<div class="d-print-none">
<div v-if="widget.settings.showGsevptLink" class="mb-2">
<div v-if="widget.settings.showEventCallyLink" class="mb-2">
<a href="#" @click.stop.prevent="openSearch()" class="underlined">Suche &ouml;ffnen</a>
</div>
@ -491,7 +491,7 @@ var app = new Vue({
},
trackAnalyticsEvent(data) {
if ('parentIFrame' in window) {
parentIFrame.sendMessage({'type': 'GSEVPT_ANALYTICS_EVENT', 'data': data});
parentIFrame.sendMessage({'type': 'EVENTCALLY_ANALYTICS_EVENT', 'data': data});
}
},
updateSettings(settings) {
@ -511,7 +511,7 @@ window.iFrameResizer = {
app.trackAnalyticsEvent({'event':'pageView', 'url':document.location.href});
},
onMessage: function(message) {
if (message.type != 'GSEVPT_WIDGET_SETTINGS_UPDATE_EVENT') {
if (message.type != 'EVENTCALLY_WIDGET_SETTINGS_UPDATE_EVENT') {
return;
}

View File

@ -1658,7 +1658,7 @@ $('#allday').on('change', function() {
{% endmacro %}
{% macro render_event_date_defintion_code() %}
$('.date-definition-container').gsevptDateDefinition();
$('.date-definition-container').eventcallyDateDefinition();
var min_date_definition_index = $(".date-definition-container").length;
if (min_date_definition_index > 1) {
$('.date-definition-container button.remove-date-defintion-btn').removeClass("d-none");
@ -1690,7 +1690,7 @@ $('#allday').on('change', function() {
});
last_container.after(new_container);
new_container.gsevptDateDefinition();
new_container.eventcallyDateDefinition();
if ($.find(".date-definition-container").length > 1) {
$('.date-definition-container button.remove-date-defintion-btn').removeClass("d-none");

View File

@ -4,7 +4,7 @@
{%- block html %}
<head>
{%- block head %}
<title>{%- block title -%}{{ title|default('gsevpt') }}{% endblock title %}</title>
<title>{%- block title -%}{{ title|default('eventcally') }}{% endblock title %}</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

View File

@ -49,10 +49,10 @@
<p>Kopiere den unten stehenden Code und füge ihn auf deiner Website ein.</p>
<p>Füge den folgenden Code im <code>&lt;head&gt;</code> der Seite ein.</p>
<textarea class="form-control text-monospace" style="font-size: 0.7rem;" disabled rows="6"><!-- Event calendar widget -->
<script>(function(w,d,s,o,f,js,fjs){w['GsevptWidget']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);}(window,document,'script','gsevpt','{{ url_for('static', filename='widget-loader.js', _external=True) }}'));</script>
<script>(function(w,d,s,o,f,js,fjs){w['EventCallyWidget']=o;w[o]=w[o]||function(){(w[o].q=w[o].q||[]).push(arguments)};js=d.createElement(s),fjs=d.getElementsByTagName(s)[0];js.id=o;js.src=f;js.async=1;fjs.parentNode.insertBefore(js,fjs);}(window,document,'script','eventcally','{{ url_for('static', filename='widget-loader.js', _external=True) }}'));</script>
<!-- End event calendar widget --></textarea>
<p class="mt-3">Füge den folgenden Code an der Stelle im <code>&lt;body&gt;</code> der Seite ein, wo das Widget dargestellt werden soll.</p>
<textarea class="form-control text-monospace" style="font-size: 0.7rem;" disabled rows="3"><div class="gsevpt-widget" data-widget-short-name="{{ admin_unit.short_name }}" data-widget-width="100%" data-widget-height="400px" data-widget-resize="true" data-widget-google-tag-manager="false"></div></textarea>
<textarea class="form-control text-monospace" style="font-size: 0.7rem;" disabled rows="3"><div class="eventcally-widget" data-widget-short-name="{{ admin_unit.short_name }}" data-widget-width="100%" data-widget-height="400px" data-widget-resize="true" data-widget-google-tag-manager="false"></div></textarea>
<p class="mt-3">Mit den folgenden Attributen kann das Widget konfiguriert werden:</p>
<ul>
<li><var>data-widget-short-name</var>: Kurzname der Organisation</li>
@ -61,8 +61,8 @@
<li><var>data-widget-resize</var>: iFrame Größe automatisch anpassen</li>
<li><var>data-widget-google-tag-manager</var>: Events in window.dataLayer für Google Tag Manager schreiben.
<ul>
<li>Event <var>gsevptWidget.pageView</var> mit Parameter <var>url</var></li>
<li>Event <var>gsevptWidget.linkClick</var> mit Parameter <var>url</var></li>
<li>Event <var>eventcallyWidget.pageView</var> mit Parameter <var>url</var></li>
<li>Event <var>eventcallyWidget.linkClick</var> mit Parameter <var>url</var></li>
</ul>
</li>
</ul>

View File

@ -21,7 +21,7 @@
function trackAnalyticsEvent(data) {
if ('parentIFrame' in window) {
parentIFrame.sendMessage({'type': 'GSEVPT_ANALYTICS_EVENT', 'data': data});
parentIFrame.sendMessage({'type': 'EVENTCALLY_ANALYTICS_EVENT', 'data': data});
}
}

View File

@ -48,17 +48,17 @@ def test_list_unverified(client, app, seeder, utils):
assert response.json["items"][0]["id"] == verified_admin_unit_id
# Authorisierte Nutzer, die Organisationen verifizieren dürfen, sehen alle Organisationen.
# "admin@gsevpt.de" ist Mitglied der Organisation "gsevpt", die andere Organisationen verifizieren darf.
# "admin@eventcally.de" ist Mitglied der Organisation "eventcally", die andere Organisationen verifizieren darf.
with app.app_context():
from project.services.admin_unit import get_admin_unit_by_name
gsevpt_id = get_admin_unit_by_name("gsevpt").id
eventcally_id = get_admin_unit_by_name("eventcally").id
utils.logout()
utils.login("admin@gsevpt.de")
utils.login("admin@eventcally.de")
response = utils.get_ok(url)
assert len(response.json["items"]) == 3
assert response.json["items"][0]["id"] == gsevpt_id
assert response.json["items"][0]["id"] == eventcally_id
assert response.json["items"][1]["id"] == unverified_admin_unit_id
assert response.json["items"][2]["id"] == verified_admin_unit_id

View File

@ -12,7 +12,7 @@ def pytest_generate_tests(metafunc):
warnings.filterwarnings("error", category=SAWarning)
os.environ["DATABASE_URL"] = os.environ.get(
"TEST_DATABASE_URL", "postgresql://postgres@localhost/gsevpt_tests"
"TEST_DATABASE_URL", "postgresql://postgres@localhost/eventcally_tests"
)
os.environ["AUTHLIB_INSECURE_TRANSPORT"] = "1"
os.environ[

View File

@ -99,14 +99,14 @@ class Seeder(object):
from project.services.admin_unit import get_admin_unit_by_name
with self._app.app_context():
other_admin_unit = get_admin_unit_by_name("gsevpt")
other_admin_unit = get_admin_unit_by_name("eventcally")
if other_admin_unit:
other_admin_unit_id = other_admin_unit.id
else:
other_user_id = self.create_user("admin@gsevpt.de")
other_user_id = self.create_user("admin@eventcally.de")
other_admin_unit_id = self.create_admin_unit(
other_user_id, "gsevpt", can_verify_other=True
other_user_id, "eventcally", can_verify_other=True
)
self.create_admin_unit_relation(
@ -637,13 +637,13 @@ class Seeder(object):
def create_common_scenario(self):
with self._app.app_context():
# Admin with gsevpt organisation
# Admin with eventcally organisation
admin_id = self.create_user(
"admin@test.de", "MeinPasswortIstDasBeste", admin=True
)
gsevpt_admin_unit_id = self.create_admin_unit(
eventcally_admin_unit_id = self.create_admin_unit(
admin_id,
"gsevpt",
"eventcally",
suggestions_enabled=True,
can_create_other=True,
can_verify_other=True,
@ -661,7 +661,7 @@ class Seeder(object):
incoming_verification_requests_text="Please give us a call",
)
self.create_admin_unit_relation(
gsevpt_admin_unit_id,
eventcally_admin_unit_id,
marketing_admin_unit_id,
verify=True,
)

View File

@ -1,3 +1,3 @@
def test_index(client):
response = client.get("/")
assert b"gsevpt" in response.data
assert b"eventcally" in response.data