Skip to content
Snippets Groups Projects
Commit e135e919 authored by Tomáš Valenta's avatar Tomáš Valenta
Browse files

Release

parent 7ad44afc
No related branches found
No related tags found
1 merge request!3Release
Showing
with 248 additions and 11 deletions
stages: stages:
- build - build
- test_deploy
image: docker:20.10.8 image: docker:20.10.8
...@@ -28,3 +29,11 @@ build_nginx: ...@@ -28,3 +29,11 @@ build_nginx:
- docker pull $CI_REGISTRY_IMAGE:test-nginx || true - docker pull $CI_REGISTRY_IMAGE:test-nginx || true
- docker build --cache-from $CI_REGISTRY_IMAGE:test-nginx -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx - docker build --cache-from $CI_REGISTRY_IMAGE:test-nginx -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx
- docker push $IMAGE_TAG_NGINX - docker push $IMAGE_TAG_NGINX
deploy:
stage: test_deploy
when: manual
before_script:
- apk add --update curl && rm -rf /var/cache/apk/*
script:
- curl -k -X POST $DEPLOY_HOOK
...@@ -8,6 +8,7 @@ Aplikace pro všemožné jednoduché nástroje, které pomohou automatizovat slo ...@@ -8,6 +8,7 @@ Aplikace pro všemožné jednoduché nástroje, které pomohou automatizovat slo
├── rybicka = Nastavení projektu, URLs. ├── rybicka = Nastavení projektu, URLs.
├── shared = Sdílené templaty a statické soubory pro všechny ostatní aplikace, index. ├── shared = Sdílené templaty a statické soubory pro všechny ostatní aplikace, index.
├── member_group_size_calc = Kalkulačka velikosti skupiny členů. ├── member_group_size_calc = Kalkulačka velikosti skupiny členů.
├── mail_signature = Generátor podpisů do emailů.
├── rv_voting_calc = Kalkulačka hlasování RV. ├── rv_voting_calc = Kalkulačka hlasování RV.
├── static_src = Zdrojové CSS a JS, které příkazem 'make build' buildujeme. ├── static_src = Zdrojové CSS a JS, které příkazem 'make build' buildujeme.
├── requirements = Pythonové závislosti z PyPI. ├── requirements = Pythonové závislosti z PyPI.
......
from django.contrib import admin
# Register your models here.
from django.apps import AppConfig
class MailSignatureConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'mail_signature'
from django.db import models
# Create your models here.
{% extends "shared/base.html" %}
{% load render_bundle from webpack_loader %}
{% block title %}Generátor emailových podpisů{% endblock %}
{% block header_name %}Emailové podpisy{% endblock %}
{% block description %}Vyplněním získáš HTML kód, který můžeš vložit jako podpis do svých emailů.{% endblock %}
{% block head %}
<link
rel="stylesheet"
href="https://styleguide.pirati.cz/2.11.x/css/styles.css"
>
{% render_bundle "mail_signature" %}
{% endblock %}
{% block content %}
<main>
<h1 class="text-6xl font-bebas mb-5">Generátor emailových podpisů</h1>
<div class="prose max-w-none mb-5">
<p>
Vyplněním následujícího formuláře získáš HTML kód,
který můžeš vložit jako podpis do svých emailů.
</p>
</div>
<div class="grid gap-4 grid-cols-1 lg:grid-cols-2">
<form class="flex flex-col gap-3" id="source">
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="name">
Jméno:
</label>
<input
id="name"
name="name"
type="text"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="function">
Názvy funkcí:
</label>
<textarea
id="function"
name="function"
rows="3"
class="border border-gray-200 p-2 rounded-md grow w-full"
></textarea>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="email">
E-mail:
</label>
<input
id="email"
name="email"
type="email"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="phone">
Telefonní číslo:
</label>
<div class="grow w-full flex gap-4 items-center">
<input
id="phone-prefix"
name="phone-prefix"
type="text"
class="basis-16 w-16 border border-gray-200 p-2 rounded-md"
value="+420"
>
<input
id="phone"
name="phone"
type="number"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="web">
Webové stránky:
</label>
<input
id="web"
name="web"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="mastodon">
Mastodon odkaz:
</label>
<input
id="mastodon"
name="mastodon"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="twitter">
Twitter odkaz:
</label>
<input
id="twitter"
name="twitter"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="instagram">
Instagram odkaz:
</label>
<input
id="instagram"
name="instagram"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="linkedin">
LinkedIn odkaz:
</label>
<input
id="linkedin"
name="linkedin"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="flex gap-4 items-center">
<label class="basis-56 flex items-center font-bold" for="fejsbuk">
Facebook odkaz:
</label>
<input
id="fejsbuk"
name="fejsbuk"
type="url"
class="border border-gray-200 p-2 rounded-md grow w-full"
>
</div>
<div class="text-right">
<button id="generate" class="btn btn--icon" type="button">
<div class="btn__body-wrap">
<div class="btn__body">Vygenerovat</div>
<div class="btn__icon">
<i class="ico--chevron-right"></i>
</div>
</div>
</button>
</div>
</form>
<div class="flex flex-col gap-3">
<section class="flex flex-col gap-4">
<div class="flex justify-between gap-3 items-center">
<div class="flex flex-col gap-1">
<h2 class="font-bold">Náhled</h2>
<small class="text-right">Zkopíruj zde v případě, že tvůj poskytovatel nepodporuje přímé vkládání HTML.</small>
</div>
<button class="btn text-sm btn--condensed" id="copy">
<div class="btn__body">Zkopírovat</div>
</button>
</div>
<div class="border border-gray-400 border-dotted p-2 rounded-md" id="preview"></div>
</section>
<section>
<h2 class="font-bold mb-3">HTML Kód</h2>
<textarea
class="border border-gray-200 p-2 font-mono rounded-md w-full"
rows="5"
id="content"
readonly
></textarea>
</section>
</div>
</div>
</main>
{% endblock %}
from django.test import TestCase
# Create your tests here.
from django.urls import path
from . import views
app_name = "mail_signature"
urlpatterns = [
path("", views.index, name="index"),
]
from django.shortcuts import render
# Create your views here.
def index(request):
return render(
request,
"mail_signature/index.html"
)
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
{% block title %}Kalkulačka velikosti skupiny členů{% endblock %} {% block title %}Kalkulačka velikosti skupiny členů{% endblock %}
{% block header_name %}Skupiny členů{% endblock %} {% block header_name %}Skupiny členů{% endblock %}
{% block description %}Výpočet velikosti skupiny členů podle jednoacího řádu.{% endblock %} {% block description %}Výpočet velikosti skupiny členů podle jednacího řádu.{% endblock %}
{% block head %} {% block head %}
<link <link
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
"description": "", "description": "",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@tailwindcss/typography": "^0.5.9",
"alertifyjs": "^1.13.1",
"css-loader": "^6.7.3", "css-loader": "^6.7.3",
"jquery": "^3.6.3", "jquery": "^3.6.3",
"js-cookie": "^3.0.1", "js-cookie": "^3.0.1",
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
{% block title %}Kalkulačka hlasování RV{% endblock %} {% block title %}Kalkulačka hlasování RV{% endblock %}
{% block header_name %}Hlasování RV{% endblock %} {% block header_name %}Hlasování RV{% endblock %}
{% block description %}TODO - Popis{% endblock %} {% block description %}Výpočet výsledku referenda RV, systémem alternativního hlasování.{% endblock %}
{% block head %} {% block head %}
{% render_bundle "rv_voting_calc" %} {% render_bundle "rv_voting_calc" %}
...@@ -25,12 +25,14 @@ ...@@ -25,12 +25,14 @@
<main> <main>
<h1 class="text-6xl font-bebas mb-5">Kalkulačka hlasování RV</h1> <h1 class="text-6xl font-bebas mb-5">Kalkulačka hlasování RV</h1>
<p class="mb-5 text-gray-800"> <div class="prose max-w-none mb-5">
Jednací řád k nahlédnutí <a <p>
class="underline" Jednací řád k nahlédnutí <a
href="https://wiki.pirati.cz/rules/jrrv#rozhodujici_hlasovani_pri_referendu" class="underline"
>na wiki</a>, § 9 (3). href="https://wiki.pirati.cz/rules/jrrv#rozhodujici_hlasovani_pri_referendu"
</p> >na wiki</a>, § 9 (3).
</p>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-7"> <div class="grid grid-cols-1 md:grid-cols-2 gap-7">
<div> <div>
......
...@@ -48,6 +48,7 @@ INSTALLED_APPS = [ ...@@ -48,6 +48,7 @@ INSTALLED_APPS = [
"shared", "shared",
"member_group_size_calc", "member_group_size_calc",
"rv_voting_calc", "rv_voting_calc",
"mail_signature",
] ]
MIDDLEWARE = [ MIDDLEWARE = [
......
...@@ -18,5 +18,6 @@ from django.urls import include, path ...@@ -18,5 +18,6 @@ from django.urls import include, path
urlpatterns = [ urlpatterns = [
path("vypocet-skupiny-clenu/", include("member_group_size_calc.urls")), path("vypocet-skupiny-clenu/", include("member_group_size_calc.urls")),
path("hlasovani-rv/", include("rv_voting_calc.urls")), path("hlasovani-rv/", include("rv_voting_calc.urls")),
path("emailove-podpisy/", include("mail_signature.urls")),
path("", include("shared.urls")), path("", include("shared.urls")),
] ]
...@@ -11,6 +11,6 @@ import os ...@@ -11,6 +11,6 @@ import os
from django.core.wsgi import get_wsgi_application from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rybicka.settings.prod") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "rybicka.settings.production")
application = get_wsgi_application() application = get_wsgi_application()
shared/static/shared/marketing.webp

41.9 KiB

shared/static/shared/signature.webp

113 KiB

...@@ -51,11 +51,11 @@ ...@@ -51,11 +51,11 @@
<div> <div>
<div class="container container--default navbar__content navbar__content--initialized"> <div class="container container--default navbar__content navbar__content--initialized">
<div class="navbar__brand flex items-center pr-8 my-4 lg:my-0"> <div class="navbar__brand flex items-center pr-8 my-4 lg:my-0">
<a href="/#TODO"> <a href="{% url "shared:index" %}">
<img src="https://styleguide.pirati.cz/2.3.x/images/logo-round-white.svg" class="w-8"> <img src="https://styleguide.pirati.cz/2.3.x/images/logo-round-white.svg" class="w-8">
</a> </a>
<div class="pl-4 font-bold text-xl border-r border-grey-300 pr-8"> <div class="pl-4 font-bold text-xl border-r border-grey-300 pr-8">
<a href="/#TODO">Rybička</a> <a href="{% url "shared:index" %}">Rybička</a>
</div> </div>
</div> </div>
{% block header_name %}{% endblock %} {% block header_name %}{% endblock %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment