Giter Club home page Giter Club logo

gewisdb's Introduction

GEWIS Database

Please note that this is all experimental and might or might not be used in production.

Installation

  • Clone the repositories.
  • Install dependencies using composer: php composer.phar install
  • Create new PostgreSQL database
  • Copy config/autoload/doctrine.local.php.dist to config/autoload/doctrine.local.php and configure the database settings in there.
  • Give the webserver's user read and write permissions to the data/ directory.
  • Run ./db orm:schema-tool:create to populate the database.
  • Create a new database with the name gewisdb_report
  • Run EM_ALIAS=orm_report ./db orm:schema-tool:create
  • Create a .htpasswd file, and add a user to it (htpasswd -c .htpasswd <user>)
  • Copy public/.htaccess.dist to public/.htaccess and configure the path to the .htpasswd file (the AuthUserFile directive).

gewisdb's People

Contributors

aarhunt avatar borborbor avatar jszanto avatar kevinjil avatar koen1999 avatar kokx avatar maxopperman avatar rinkp avatar stefanmajoor avatar svenmokveldje avatar tomudding avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

gewisdb's Issues

Feature voor automatisch mailen betrokkenen

Mogelijkheid om bij het toevoegen van een besluit automatisch de betrokkenen te mailen:

  • Bij oprichting / functiewisseling betrokken personen mailen
  • Bij goedkeuren / afkeuren begroting commissie inlichten
  • etc.

Hier staan dan standaardmails voor in het systeem: secr. kan deze eenvoudig aanpassen in zijn settingspanel (is dat er?).

Meerdere mogelijkheden:

  • Bij het toevoegen van een besluit vinkt secr. aan dat mailtje verstuurd moet worden, kan dan eventueel tekst nog aanpassen voor specifieke situatie. Mail komt van secr. af.
    Anders:
  • Mailtje is niet van secr. persoonlijk afkomstig maar mooi geformat als systeemmail, met "reply to = [email protected]"

Besluit oprichten orgaan

  • Naam orgaan
  • Afkorting
  • Leden
  • Functies
  • Controleert of er een voorzitter aangesteld is

Onderdeel van issue #2

Vertaling datums

Datums worden nu in het engels weergeven. Dit heeft vooral effect op de namen van maanden en dagen. Dit moet in het nederlands weergeven worden natuurlijk.

Modeleer donateurs

Donateurs worden al een aantal jaren niet supremums een dergelijke gestuurd. Dit komt omdat deze niet in de database staan. Oftewel modeleer deze

Begrotingen en afrekeningen bij stukken/besluiten

Het zou bijzonder mooi zijn als de begrotingen en afrekeningen (het concrete document met bedragen en uitgegeven gelden enzo) ook publiek beschikbaar zijn. Het zou voor ontzettend veel redenen ook handig zijn als deze via de database te vinden zijn.

Besluit Installatie / Decharge

  • Lid

Installatie:

  • Controleert of niet al lid van orgaan
  • Controleert of orgaan bestaat

Decharge:

  • Controleert of wel lid van orgaan
  • Controleert of orgaan bestaat

Onderdeel van #2

Magisch mooie mailman 'ministratie

Projexy blijkt gewoon MailMan-support te hebben! Automatisch mensen aan mailinglijsten toevoegen en uitschrijven. Het lijkt me mooi als dit in het geval van de ledenlijst en zo gewoon via de databasetool kan.

Migratie script

We moeten ooit de 'zooi' van de oude database overzetten. Hiervoor moet dus nog een script komen om dit zo veel mogelijk automatisch te doen.

Hierbij moet elke automatische omzetting gereviewed worden, en gewijzigd kunnen worden.

Grote integers zijn te groot voor BV nummers

Krijg de volgende error:

An exception occurred while executing 'SELECT t0.type AS type1, t0.number AS number2, t0.date AS date3 FROM Meeting t0 WHERE t0.type = ? AND t0.number = ?' with params ["bv", "2315351321321"]:

SQLSTATE[22003]: Numeric value out of range: 7 ERROR:  value "2315351321321" is out of range for type integer

Hier moet gewoon validatie bij.

Overige besluiten

Besluiten die niet een ander type hebben. Hierbij kiest de secretaris zelf een formulering.

Onderdeel van #2

LaTeX-style aanpassen

Secretaris moet mogelijkheid hebben alles vóór de eerste \subsection{} aan te passen om het bijvoorbeeld mooier te kunnen maken.

Events

Implementeer events, zodat je makkelijk andere dingen kunt laten triggeren. Mogelijke events:

  • Besluit aangemaakt (eventueel voor elk type)
  • Lid ingeschreven

Dit maakt het erg gemakkelijk om #14 te implementeren.

Migratie leden

Migratiescript van leden uit de oude database.

Zou moeten werken via ./db import members

Afleiden einde lidmaatschap

Van een lid kunnen we het einde van lidmaatschap gemakkelijk afleiden. Hiervoor hebben we de volgende informatie nodig:

  • Lid sinds
  • Datum laatste wijziging lidmaatschap
  • Type lidmaatschap

Gezien de data hieromheen statutair vastgelegd is, wordt dit (grotendeels) in het model gehardcode.

Modeleer en implementeer bestuurswissel

Op het moment wordt een bestuurswissel als 'Overig' besluit in de database gezet.

Zie bijvoorbeeld AV 132.

  • Modelleren bestuurswissel
  • Bouwen formulieren
  • Exporteren naar oude database

Brieven

Een van de grootste openstaande issues van de huidige database (volgens mart):

Mensen willen over het algemeen niet perse alle post ontvangen. Zo zijn er mensen die liever geen supremum ontvangen, of brieven over een geschwisterborrel.

Veiligheid / inloggen

Zorg dat er ingelogd moet worden om erbij te komen. Makkelijkste om dit te doen is met .htpasswd of iets dergelijks.

Externe event afhandeling

Maak het mogelijk om events ook extern af te handelen. Hiervoor is iets als Gearman misschien een goed idee.

Besluit functiewissel

  • Controleert of er een voorzitter blijft in het orgaan
  • Controleert of orgaan bestaat

Onderdeel van #2

Event log

Log alle toegevoegde events. Voor het geval er iets mis gaat met de database, waardoor we data verliezen.

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.