Git Product home page Git Product logo

skaut / srs Goto Github PK

View Code? Open in Web Editor NEW
14.0 10.0 11.0 21.67 MB

Webová aplikace pro podporu velkých akcí a vzdělávacích seminářů Junáka - českého skauta (např. Helpdesk, Poradní skála, Ústřední lesní škola, Miquik apod.)

Home Page: http://srs.skauting.cz

License: GNU General Public License v3.0

PHP 83.92% HTML 0.06% CSS 0.91% JavaScript 4.90% Vue 2.14% Latte 8.08%
nette bootstrap4 php

srs's Introduction

Skautský rezervační systém

test deploy-dev deploy-staging deploy-manual codecov

Skautský rezervační systém (neboli SRS) byl vytvořen jako webový nástroj pro podporu vzdělávacích seminářů Junáka - českého skauta, na které se typicky přihlašují účastníci, kteří si následně vybírají vlastní podobu programu, kterou na akci absolvovat. Cílem tohoto webového systému je zjednodušit či zautomatizovat organizační procesy, kterými musí každý seminář projít.

SRS nabízí možnost vytvořit si webovou prezentaci akce (s potřebnými stránkami, informacemi, dokumenty apod.) a to i s možností různé části zobrazovat jen určitým skupinám účastníků, pořadatelů apod. Zároveň pak SRS nabízí rozsáhlý systém administrace a správy přihlášených účastníků, vytváření harmonogramů, programových bloků, přihlašování účastníků na ně, správu účastnických poplatků, evidenci plateb apod.

Ukázkovou verzi systému si můžete vyzkoušet na: https://srs.skauting.cz.

Nápovědu a další informace najdete na: https://napoveda.skaut.cz/srs.

srs's People

Contributors

deetscz avatar dependabot[bot] avatar jan-stanek avatar petrparolek avatar petrsladek avatar sinacek avatar snakeyyy avatar tomtomklima avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

srs's Issues

Update Nette na 2.4

Update Nette pomocí composeru na verzi 2.3. (2.4 není kompatibilní s Lebedou před upgradem PHP na verzi 5.6 nebo 7)

Podpora aktuální verze 2.0.18 byla ukončena v lednu 2015.

Chyba: Aktualizovat údaje do skautIS

Pokud ve frontendu v profilu uživatele vyberu "Aktualizovat data a sesynchronizovat se skautIS", potom vyskočí dvě hlášení:

  1. Synchronizace se nezdařila
  2. Data aktualizovaná
    snimek obrazovky 2016-09-25 v 13 47 38

Což nedává smysl a data se do skautIS nesesynchronizují.

Přihlášení na opakující se program

Nyní pokud se program opakuje, potom systém umožňuje přihlásit se na všechna opakování. Prosím o úpravu, pokud se uživatel přihlásí na program, potom již na ostatní opakování tohoto programu nemůže.

Více rolí pro jednoho uživatele

Umožnit výběr více rolí pro jednoho uživatele.

Možné konflikty:

Zobrazit v přehledu uživatelů:

  • pokud má jedna z rolí staveno zobrazování, potom se v seznamu uživatel zobrazí

Platí za účast?:

  • pokud má jedna role nastaveno, že neplatí, potom dotyčný za účast neplatí

Práva:

  • platí vždy ty vyšší
  • například pokud má jedna role Spravovat vlastní programy a druhá Spravovat všechny programy, potom má uživatel právo Spravovat všechny programy

Tisk harmonogramu

  1. V profilu uživatele ve frontendu přidat tlačítko "Stáhnout harmonogram". Harmonogram by se po stisku tlačítka měl exportovat do excelu.
    snimek obrazovky 2016-09-26 v 14 02 50
  2. Do hromadných akcí na seznamu uživatelů přidat možnost "Stáhnout harmonogram". Tato možnost vyexportuje do excelu harmonogram všech zaškrtaných uživatelů.
    snimek obrazovky 2016-09-26 v 14 03 38

Nastavení uživatele

U každého uživatele evidovat:

  1. množství zobrazených položek na stránku: "Záznamů na stranu:"
    • v administraci na strákách program semináře a evidence uživatelů
      snimek obrazovky 2016-09-26 v 14 12 43
  2. které sloupce má uživatel zobrazené na stránce evidence uživatelů v administraci
    snimek obrazovky 2016-09-26 v 14 19 36

Odhlašování z akce

  1. V administraci do konfigurace přidat položku
    Odhlašování povoleno do: "datum"
    (ideálně pod položku "Konec semináře")
  2. V profilu přihlášeného uživatele přidat tlačítko "Odhlásit se ze semináře", které se zobrazuje do data, které je nastaveno v bodě 1
  3. Pokud se uživatel odhlásí, potom se změní jeho role na "Nepřihlášený"
  4. Pokud je uživatel v roli "Nepřihlášený", potom by se měla smazat i všechna jeho data vyplněná při registraci a pro účast na akci bude muset znovu vyplnit přihlášku. Tedy to bude jako kdyby se poprvé přihlásit na web.
    (Nyní jsou všechny informace o uživateli uloženy a zobrazuje se, že jeho přihláška byla již potvrzena:
    snimek obrazovky 2016-09-04 v 14 43 34
  5. Stejně by se měl systém chovat, pokud se uživatel do role "Nepřihlášený" přesune v administraci.

Generování variabilního symbolu

V konfiguraci přidat pole pro zadání předvolby (např. 99).

V evidenci účastníků v detailu uživatele přidat kolonku variabilní symbol, který se bude tvořit z předvolby a datumu narození (např. narození 8.10.2012 bude mít varibilní symbol 99121008). S tím, že orgranizátor a administrátor by měli mít právo VS upravit (pro případ, že by dva účastníci měli stejné datum narození).

Přesměrování po přihlášení

  1. V administraci v konfiguraci v nastavení Systém přidat možnost vybrat, na jakou stránku bude uživatel přesměrován po přihlášení.
  2. U každé role zobrazit volbu, kam má být uživatel v této roli přesměrován, pokud zde nebude nic vybráno, potom se používá defaultně nastavená stránka v konfiguraci.

První a poslední přihlášení

V administraci v detailu uživatele do sekce "Údaje o osobě a akci" přidat dvě položky:

  1. první přihlášení uživatele
  2. poslední přihlášení uživatele

Neveřejná poznámka k uživatelům

V detailu uživatele přidat pole pro poznámku "Neveřejné poznámky", které může editovat a vidět pouze Administrátor nebo Orgranizátor.

Přihlášení a odhlášení z programu

Umožnit přihlášení a odhlášení uživatele z programu.
Řešením by mohl být využití seznamu přihlášených a nepřihlášených uživatelů v detailu programového bloku:
snimek obrazovky 2016-09-26 v 13 48 18

  1. Na seznamu přihlášených uživatelů přidat ke každému uživateli checkbox a k tlačítku "Zavřít" tlačítko "Odhlásit z programu". Pokud zaškrtneme uživatele a stiskneme "Odhlásit z programu", potom se tento program uživateli odebere.
    • Odebranému uživateli by se měl dále odeslat email s informací: "Byl jste odhlášen z programu "Název programu", zkontrolujte si váš rozvrh."
  2. Na seznamu nepřihlášených uživatelů přidat ke každému uživateli checkbox a k tlačítku "Zavřít" tlačítko "Přihlásit na program". Pokud zaškrtneme uživatele a stiskneme "Přihlásit na program", potom se tento program uživateli přidá.
    • Přihlášenému uživateli by se měl dále odeslat email s informací: "Byl jste přhlášen na program "Název programu", zkontrolujte si váš rozvrh."

Kategorie programových bloků a zobrazení na webu

  1. programovým blokům přidat kategorie
  2. správa kategorii (přidání, odebrání, editace) bude na stránce program semináře v administraci (do podmenu přidat položku kategorie)
  3. při tvorbě programového bloku umožnit blok zařadit do kategorie
  4. na stránku program semináře->programové bloky přidat možnost řadit podle kategorie
  5. ve frontendu vytvořit stránku "Program semináře", kde bude přehled programů
  6. vlevo bude sloupec, kde budou vypsané kategorie, které bude možné rozkliknout a tak zobrazit seznam programových bloků v dané kategorii
  7. po kliknutí na programový blok se v hlavní části se zobrazí údaje o programovém bloku, které byly zadané při vytváření bloku

Tisk dokladu

V detailu uživatele jsou nyní dvě tlačítka pro tisk, mělo by se zobrazovat pouze jedno podle typu platby:

  1. Pokud je vybrána platební metoda "Hotovost", potom zobrazit tlačítko "Vytisknout příjmový doklad"
  2. Pokud je vybrána platební metoda "Na účet", potom zobrazit tlačítko "Vytisknout potvrzení o zaplacení na účet"
    Toto se musí zohlednit i v hromadných akcích nad evidencí účastníků:
  3. Změnit popis z "Vytisknout příjmový doklad" na "Vytisknout doklad o zaplacení"
  4. Podle typu platby vygenerovat do pdf příslušný doklad

Umožnit tisk dokladu až po vyplnění položky "Zaplaceno dne".

Položku "Příjmový doklad vytištěn" vyplnit automaticky po vygenerování dokladu a doplnit datum, kdy byl doklad vytištěn.

Úprava příjmového dokladu:

  1. přejmenovat "Firma" na "Dodavatel"
  2. odebrat všechny přeškrtané nápisy (Výdajový pokladní doklad, Vyplaceno komu, Vydal a nápis Nehodící se škrtněte)

Mapa s popisem cesty

Vytvořit content, který obsahuje textové pole pro popis cesty a body zadané pomocí GPS, které se poté zobrazují na mapě (implementace API Mapy.cz nebo Maps.google.com).

Zalamovat dlouhý název firmy

Pokud je název firmy dlouhý, potom při tisku dokladů "přeteče" z rámečku. Prosím dodělat zalamování názvu do velikosti rámečku. Týka se:

  1. Příjmový doklad (tlačítko pro tisk na detailu profilu účastníka)
    snimek obrazovky 2016-07-30 v 14 35 54
  2. Doklad o platbě na účet (tlačítko pro tisk na detailu profilu účastníka)
    snimek obrazovky 2016-07-30 v 14 36 51
  3. Příjmový doklad (tlačítko na stránce evidence účastníků u hromadné akce)

Úpravy pro Miquik

Po skype poradě prosím o zpracování úprav:

  1. Na registračním formuláři při výběru role zobrazovat volnou kapacitu role
  2. Pokud si uživatel vybere "placené" role, potom jeho cena je součet cen za všechny vybrané role
  3. Umožnit při vytváření role vybrat roli, kterou není možné současně vybrat při regitraci
    • v regitračním forumuláři přidat varování, pokud uživatel vybere paralelní role
  4. Při vytváření programového bloku umožnit vybrat, která role si může daný blok zapsat a vidět ho v kalendáři

Přehled uživatelů

Do frontpage přidat okno, které zobrazuje přehled uživatelů.
V administraci v editoru rolí přidat checkbox "Zobrazit v přehledu uživatelů". Pokud se checkbox zaškrtne, potom se uživatelé v této roli zobrazí v přehledu na frontpage.

Instalace "na klik"

Vytvořit instalační balíček, který bude od uživatele vyžadovat pouze zadání údajů k FTP a databázi.

Chyba: Zobrazení programových bloků

V administraci programových bloků by mělo být 10 bloků, ale systém bez zadaných filtrů zobrazuje jen dva:
snimek obrazovky 2016-08-03 v 14 23 06

Při filtrování podle lektora (například Kraj Jihomoravský TGM ) se zobrazují správně čtyři:
snimek obrazovky 2016-08-03 v 14 25 57

Zobrazit kdo položil otázku

V administraci v přehledu FAQ evidovat, kdo otázku položil:
snimek obrazovky 2016-09-26 v 14 06 51

Měl by zde tedy přibýt sloupce "Uživatel" za sloupec "Otázka".

Skrýt sloupec "Zaplaceno"

V seznamu účastníků skrýt sloupec "Zaplaceno" a sloupec "Datum zaplacení" přejmenovat na "Zaplaceno dne".
snimek obrazovky 2016-08-03 v 15 07 12

(Sloupec Zaplaceno je nyní nadbytečný, protože ve chvíli, kdy se zadá datum zaplacení, potom je účast zaplacena)

Práva k stránkám u role

Nyní se nastavují práva přístupu pro role u každé stránky. Nově by toto nastavení mělo jít zadat u stránky ale také přímo v roli.
Tedy vyberu si roli, zde budu mít nastavení "Viditelné stránky" a zde vyberu, ke kterým stránkám na přístup.

Přesun routování do RouterFactory

Doporučuju přesunout routování z

SRS/app/bootstrap.php

Lines 53 to 109 in f0bee52

$container->router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
//$container->router[] = new Route('admin/', 'Back:Dashboard:default');
$container->router[] = new Route('api/program/<action>[/<id>][/<area>]', array(
'module' => 'Back:Program',
'presenter' => 'Api',
'action' => 'default',
'id' => null,
'area' => null
));
$container->router[] = new Route('admin/cms/<presenter>/<action>[/<id>][/<area>]', array(
'module' => 'Back:CMS',
'presenter' => 'Page',
'action' => 'default',
'id' => null,
'area' => null
));
$container->router[] = new Route('admin/program/<presenter>/<action>[/<id>][/<area>]', array(
'module' => 'Back:Program',
'presenter' => 'Block',
'action' => 'list',
'id' => null,
'area' => null
));
$container->router[] = new Route('admin/<presenter>/<action>[/<id>][/<area>]', array(
'module' => 'Back',
'presenter' => 'Dashboard',
'action' => 'default',
'id' => null,
'area' => null
));
$container->router[] = new Route('install/<presenter>/<action>/<id>/', array(
'module' => 'Install',
'presenter' => 'Install',
'action' => 'default',
'id' => null
));
$container->router[] = new Route('login/', 'Auth:login');
$container->router[] = new Route('logout/', 'Auth:logout');
$pageRepo = $container->database->getRepository('\SRS\Model\CMS\Page');
$container->router[] = new Route('[!<pageId [a-z-0-9]+>]', array(
'module' => 'Front',
'presenter' => 'Page',
'action' => 'default',
'pageId' => array(
Route::FILTER_IN => callback($pageRepo, 'slugToId'),
Route::FILTER_OUT => callback($pageRepo, "idToSlug")
)
));
$container->router[] = new Route('<presenter>/<action>[/<id>]', 'Front:Homepage:default');
do RouterFactory minimalně pro přehlednost a jednotnost s doporučeným layoutem.

Viz.
https://github.com/nette/sandbox/blob/master/app/router/RouterFactory.php
https://github.com/nette/sandbox/blob/master/app/config/config.neon#L10-L11
https://github.com/nette/sandbox/blob/master/app/config/config.neon#L23

Přejmenování Slug

V administraci přejmenovat Slug na Cesta, vyskytuje se na stránce přidání a editace stránky.
snimek obrazovky 2016-09-29 v 9 54 43

Evidence příjezdu a odjezdu

Do detailu uživatele přidat dvě pole "Příjezd" a "Odjezd", zadávat by se mělo výběrem z kalendáře.

Do správy rolí přidat checkbox, zda se má u dané role evidence zobrazovat (primárně se bude používat u role Lektor).

Pokud se bude u role příjezd a odjezd evidovat, potom bude čas odjezdu a příjezdu uživatel zadávat při registraci.

Pole je pouze informativní a nebude mít další návaznost.

Omezit kapacitu role

U každé role je nyní možné zadat od kdy do kdy se do ní dá registrovat:
snimek obrazovky 2016-08-03 v 15 05 14

Prosím přidejte možnost definovat i kapacitu (kolik lidí se do role může přihlásit).

Databáze místností

V administraci přidejte do menu "Program semináře" položku "Místnosti". Zde bude administrátor vytvářet seznam místností.
Při zadávání programového bloku, přejmenujte položku "Lokalita" na "Místnost" a pro výběr přidejte selectbox s vytvořeným seznamem místností.

Sjednotit administraci uživatelů

V administraci sjednotit tabulky pro výběr role s evidencí účastníků.
Odkaz "Evidence účastníků" přejmenovat na "Evidence uživatelů" a v této tabulce umožnit výběr "Role" a "Schválený".
Odkaz "Práva a role" zůstene, ale bude zde jen "Role".

Přihlašování na povinné programy

  1. do programového bloku, přidat checkbox "Přihlásit automaticky"
    • pokud se toto zaškrtne, potom se všichni účastníci, kteří mají roli spjatou s daným programovým blokem automaticky na tento blok přihlásí
  2. V tabulce evidence uživatelů přidat sloupec "Nezapsané povinné semináře", zde se u daného uživatele bude zobrazovat počet povinným seminářů, na které se zatím nepřihlásil. Po najetí myší se zobrazí jmenný seznam seminářů, na které není uživatel přihlášený

Úprava mailing

V administraci upravit mailing následovně:

  1. Přidat doleva menu, jako je například na stránce "Konfigurace"
  2. položky: Potvrzovací email, Zaslat nový email, Historie

Potvrzovací email:

  • Zde je možné měnit text automatických emailů, které chodí uživateli při registraci a při schválení.
  • Odesílání automatických emailů při registraci a schválení se musí vytvořit

Pokud uživatel vyplní registraci, kde jsou všechny role automaticky schválené, nebo byla jeho registrace schválena, potom by mu měl přijít email s potvrzením:

Předmět: Potvrzení registrace do semináře "Název semináře"

Děkujeme za registraci do semináře "Název semináře".
Registrovali jste se jako "Role1", "Role2", ...

Vaše registrace byla schválena.

Pokud uživatel vyplní registraci, kde některá role vyžaduje schválení, potom by mu měl přijít email s potvrzením:

Předmět: Registrace do semináře "Název semináře"

Děkujeme za registraci do semináře "Název semináře".
Registrovali jste se jako "Role1", "Role2", ...

Vyčkejte na potvrzení vaší registrace.

Zaslat nový email

  • Obsahuje stávající formulář.

Historie

  • Zde by měly být vypsány emaily, které byly odeslány.
  • Obsahuje Čas, Předmět, Komu byl odeslán (Buď jeden uživatel, nebo role, které byl email odeslán).

Panel nette

Prosím pro instalační balíček skrýt panel nette, není vhodné, aby se zobrazoval pro běžné použití.
Děkuji

Nepropojený účet

Pokud uživatel nemá propojený účet, potom by se mu v záhlaví (pod jménem) mělo zobrazovat upozornění "Nepropojený účet člena" s odkazem na novou stránku s návodem na propojení, jako je tomu na nyní na křižovatce:
snimek obrazovky 2016-08-31 v 14 22 00
S textem:
"Nemáte propojený účet
Byli jste úspěšně přihlášeni na webu, ale pravděpodobně nejste členem Junáka.

Pokud členy jste, pak nemáte pravděpodobně propojený svůj uživatelský účet se skutečnými údaji v registraci. Kontaktuje svého vedoucího oddílu (nebo osobu, která zpracovává registraci) a požádejte ho o propojení vašeho účtu ve skautISu s reálnými údaji.

Pro propojení účtu potřebujete tyto údaje:
uživatelské jméno: "jméno ze skautis"
bezpečnostní kód: "bezpečnostní kód" - možno získat z "UserManagement=>User"

Poznámka: V žádném případě nikdy nikomu nedávejte své heslo. "
(bez tlačítka "odhlásit se")

V tabulce evidence účastníků přidejte sloupec "Členství".
Pokud nemá uživatel propojený účet, potom bude v sloupci "nepropojený účet".
Pokud má propojený účet, potom vypište evidenční číslo jednotky, kde má čestné nebo řádné členství.

Zadání času začátku semináře

Bylo by dobré, kdyby bylo možné zadat začátek semináře na libovolný čas, nyní je možnost po 15ti minutách.
Pokud je to možné prosím o přidání kolonky začátek a konec do dialogového okna, které se otevře po zadání semináře do kalendáře.
snimek obrazovky 2016-10-13 v 9 56 38

Hromadné přiřazování rolí

Tak jako se nyní dá hromadně uživatelům zadat platba a tisk dokladů v evidenci účastníků, prosím o úpravu, aby se hromadně daly zadávat i role.

Možnost instalace SRS do podadresáře

Při instalaci do podadresáře hází systém E_NOTICE v PagePresenteru, což znemožnuje fungování v debug modu. Přišlo by mi užitečné, kdyby to bylo možné instalovat do libovolného umístění.

Počet přihlášených uživatelů v roli

Tak jako se vytvářel seznam přihlášených uživatelů do frontendu, prosím ještě o přidání možnosti zobrazit počet přihlášených v roli plus kapacitu..
Např. :

Kapacita semináře:

Účastník
Přihlášeno 10 z 20
Lektor
Přihlášeno 5 z 6
Servis team
Přihlášeno 10
(pokud u role nebyla zadaná kapacita, potom by se zobrazovalo pouze kolik je uživatelů přihlášeno)

V administraci u role by se měl zaškrtávat checkbox: "Zobrazit kapacitu na webu"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.