From d8a0e9a66a13b009791df901acf3c4836339a570 Mon Sep 17 00:00:00 2001 From: Niko Strijbol Date: Fri, 6 Dec 2019 19:54:58 +0100 Subject: [PATCH] Project stuff - Add project metadata - Extract metadata for projects and privacy --- Rules | 5 + .../assets/stylesheets/includes/privacy.scss | 10 -- content/privacy.erb | 114 ++++++++++-------- content/privacy/cat.md | 3 + content/privacy/dap.md | 3 + content/privacy/doorkeeper.md | 3 + content/privacy/dut.md | 3 + content/privacy/fathom.md | 2 +- .../{fk-enrolment.md => fk_enrolment.md} | 0 content/privacy/gamification.md | 2 +- content/privacy/gitlab.md | 2 +- content/privacy/haldis.md | 5 + content/privacy/httpizza.md | 3 + content/privacy/hydra.md | 2 +- content/privacy/mattermost.md | 2 +- content/privacy/mozaic.md | 3 + content/privacy/sad.md | 3 + content/privacy/{website.md => site.md} | 2 +- content/privacy/slotmachien.md | 4 + content/privacy/tab.md | 6 + content/privacy/tap.md | 5 + content/privacy/tappb.md | 10 ++ content/privacy/tuxcape.md | 3 + content/privacy/zauth.md | 3 + content/privacy/zinc.md | 3 + content/projects/12urenloop.md | 3 - content/projects/blokmap.md | 3 - content/projects/cat.md | 3 - content/projects/doorkeeper.md | 3 - content/projects/fk_enrolment.md | 3 - content/projects/g2.md | 3 - content/projects/gamification.md | 3 - content/projects/gandalf.md | 3 - content/projects/haldis.md | 3 - content/projects/lana.md | 3 - content/projects/mozaic.md | 3 - content/projects/saruman.md | 3 - content/projects/site.md | 3 - content/projects/slotmachien.md | 3 - content/projects/tab.md | 3 - content/projects/tap.md | 3 - content/projects/tappb.md | 3 - data/projecten.yaml | 102 ++++++++++++++++ layouts/partials/_privacy.erb | 23 +++- layouts/partials/_privacy_link.erb | 9 ++ layouts/partials/_project.erb | 21 ++-- layouts/partials/_up.erb | 4 - lib/helpers/preprocess.rb | 37 ++++++ lib/helpers/privacy.rb | 7 +- 49 files changed, 319 insertions(+), 136 deletions(-) create mode 100644 content/privacy/cat.md create mode 100644 content/privacy/dap.md create mode 100644 content/privacy/doorkeeper.md create mode 100644 content/privacy/dut.md rename content/privacy/{fk-enrolment.md => fk_enrolment.md} (100%) create mode 100644 content/privacy/haldis.md create mode 100644 content/privacy/httpizza.md create mode 100644 content/privacy/mozaic.md create mode 100644 content/privacy/sad.md rename content/privacy/{website.md => site.md} (97%) create mode 100644 content/privacy/slotmachien.md create mode 100644 content/privacy/tab.md create mode 100644 content/privacy/tap.md create mode 100644 content/privacy/tappb.md create mode 100644 content/privacy/tuxcape.md create mode 100644 content/privacy/zauth.md create mode 100644 content/privacy/zinc.md create mode 100644 data/projecten.yaml create mode 100644 layouts/partials/_privacy_link.erb delete mode 100644 layouts/partials/_up.erb diff --git a/Rules b/Rules index e4fed5a..6f9504d 100644 --- a/Rules +++ b/Rules @@ -30,7 +30,12 @@ preprocess do check_schema(:event, event) end + all_privacy_projects do |project| + check_schema(:privacy, project) + end + add_report_metadata + add_project_metadata end # diff --git a/content/assets/stylesheets/includes/privacy.scss b/content/assets/stylesheets/includes/privacy.scss index 2cba7ce..5988e02 100644 --- a/content/assets/stylesheets/includes/privacy.scss +++ b/content/assets/stylesheets/includes/privacy.scss @@ -5,13 +5,3 @@ font-weight: bold; } } - -.to-top { - & a { - font-size: 0.8rem; - } - & hr { - margin-bottom: 0 - } - margin-bottom: 1.5rem; -} \ No newline at end of file diff --git a/content/privacy.erb b/content/privacy.erb index 6ce3d57..478f223 100644 --- a/content/privacy.erb +++ b/content/privacy.erb @@ -11,10 +11,11 @@ toc: true

@@ -24,15 +25,15 @@ toc: true

Zeus WPI biedt een waaier aan diensten en projecten aan aan haar leden en het algemene publiek. Met dit privacybeleid wilt ze aangeven hoe en waarvoor ze data verzamelt.

-

Opbouw

+

Opbouw

Het privacybeleid is opgebouwd uit twee grote delen: een algemeen deel en een project-specifiek deel. Het eerste deel is het eigenlijk beleid, en legt algemeen uit welke data Zeus verzamelt, waarom ze dat doet en wat ze met de verzamelde data doet. Bepaalde projecten hebben echter uitzonderingen of vergen meer uitleg. Dit komt in deel twee van het privacybeleid, dat per project bepaald hoe het algemene beleid van toepassing is, indien nodig. Staat een project niet in deel twee, dan is uiteraard deel een nog steeds van toepassing.

-

Wanneer en waar is dit privacybeleid van toepassing?

+

Wanneer en waar is dit privacybeleid van toepassing?

Zeus WPI stelt een waaier aan projecten beschikbaar aan haar leden en het publiek in het algemeen. Daarbovenop worden de diensten en projecten van Zeus ook door derden gebruikt.

-

Zeus als dataverantwoordelijke

+

Zeus als dataverantwoordelijke

Voor het aanbieden van haar projecten, verzamelt Zeus WPI data. In dit geval treedt Zeus op als "Verwerker" in de terminologie van de AVG. Dit betekent dat Zeus de data zelf verzamelt, of opdracht geeft aan derden om de data te verzamelen.

@@ -40,7 +41,7 @@ toc: true Voorbeelden van projecten waarbij Zeus de dataverantwoordelijke is, zijn Haldis, Tab, Hydra, enz.
-

Zeus als verwerker

+

Zeus als verwerker

Zeus biedt niet alleen projecten aan aan haar leden en andere personen, maar biedt ook diensten aan aan derden. In dat geval dient u zich te wenden tot het privacybeleid van de derde in wiens naam Zeus de data verwerkt. Zeus treedt dan op als "Verwerker".

@@ -50,7 +51,7 @@ toc: true

Als Zeus optreedt als verwerker, zal Zeus in het algemeen slechts de absoluut noodzakelijke data verzamelen voor de integriteit en goede werking van haar systemen in stand te houden verzamelen. Meer informatie kan u krijgen bij de verantwoordelijke vereniging of personen die gebruik maken van de diensten van Zeus.

-

Wie heeft toegang tot de verzamelde data?

+

Wie heeft toegang tot de verzamelde data?

In de eerste plaats heeft het bestuur van Zeus WPI toegang tot de gegevens, en in het bijzonder hebben de systeemadministrators toegang tot de data. Het bestuur beperkt zijn inzage in de gegevens tot het strikt noodzakelijke om zijn mandaat te vervullen.

@@ -64,11 +65,11 @@ toc: true De ontwikkelaars van Hydra krijgen toegang de API-server en kunnen zo aan de serverlogs. -

Welke data worden verzameld en waarvoor worden ze gebruikt?

+

Welke data worden verzameld en waarvoor worden ze gebruikt?

Zeus verzamelt vier grote categorieën van data. -

Administratieve gegevens

+

Administratieve gegevens

Zeus houdt een reeks administratieve gegevens bij over haar leden, zoals vereist door de statuten of om de goede werking van de vereniging te bewerkstelligen. Onder deze data valt onder meer:

@@ -87,8 +88,7 @@ toc: true

Bij het opheffen van het lidmaatschap worden de data niet automatisch verwijderd, vanwege het ontbreken van een technische oplossing. Indien gewenst, kan u zich wenden tot de vereniging voor een manuele verwijdering van uw administratieve gegevens.

- <%= render '/partials/_up.erb' %> -

Technische gegevens

+

Technische gegevens

Hieronder vallen de data nodig om de goede werking van de projecten te garanderen. Concreet betekent de serverlogs. Dit zijn logboeken van de verzoeken die gestuurd worden naar een van de servers van Zeus. In de logboeken zitten volgende data:

@@ -122,8 +122,7 @@ toc: true

Deze data worden niet automatisch verwerkt; ze dienen om manueel de oorzaken van problemen te vinden. Serverlogs worden onbeperkt bijgehouden.

- <%= render '/partials/_up.erb' %> -

Projectdata

+

Projectdata

Veel projecten hebben data nodig om te kunnen functioneren, dus verzameld Zeus die uiteraard ook. Vaak zijn dit gegevens die u zelf ingeeft of laat genereren door het project dat u gebruikt.

@@ -131,14 +130,13 @@ toc: true Als u bijvoorbeeld gebruik maakt van Haldis, moet Zeus opslaan wat u besteld hebt, of Haldis zal niet werken. -

Afhankelijk van de applicatie is het niet altijd mogelijk om de gegevens te verwijderen of aanpassen zonder de integriteit of goede werking van het project op de helling te zetten. In dat geval probeert Zeus de data zoveel mogelijk te anonimiseren als u een verwijderverzoek stuurt of zoveel mogelijk data aan te passen als u een aanpassingsverzoek stuurt.

+

Afhankelijk van de applicatie is het niet altijd mogelijk om de gegevens te verwijderen of aanpassen zonder de integriteit of goede werking van het project op de helling te zetten. In dat geval probeert Zeus de data zoveel mogelijk te anonimiseren als u een verwijderverzoek stuurt of zoveel mogelijk data aan te passen als u een aanpassingsverzoek stuurt. Bij een verwijderingsverzoek probeert Zeus de relevante en verwijderbare data zo snel mogelijk te verwijderen. Doch is het mogelijk dat de data door back-upsystemen langer bewaard blijven.

Bij Tab kan u bijvoorbeeld geen transacties laten verwijderen, maar wel anonimiseren.
- <%= render '/partials/_up.erb' %> -

Videobeelden

+

Videobeelden

Ter beveiliging van de kelder van Zeus hangt er een camera "Cammie" in de kelder. De beelden van deze camera worden live uitgezonden op de website van de vereniging.

@@ -146,66 +144,76 @@ toc: true

Bij het inschrijven hebben alle leden zich akkoord verklaard om opgenomen te worden door Cammie als zij zich in de kelder begeven.

-

Overzicht der projecten

+

Overzicht der projecten

-

Project-specifieke bepalingen

+

Project-specifieke bepalingen

-

Deze projecten hebben meer uitleg of hebben uitzonderingen.

+

Onder deze paragraaf volgt een lijst van alle projecten:

+
    +
  1. Met uitzonderingen op het algemeen beleid, of
  2. +
  3. Waarvoor er bijkomende informatie is over het gebruik van data in het project.
  4. +
- <% @responsible = privacy_projects("responsible") %> - <% @responsible.each do |project| %> + <% privacy_projects("additional").each do |project| %> <%= render '/partials/_privacy.erb', project: project %> - <%= render '/partials/_up.erb' %> +
<% end %> -

Niet-gebruikte projecten

+

Projecten zonder specifieke bepalingen

-

Deze projecten worden niet (meer) gebruikt door Zeus. Indien u deze toch gebruikt moet u zich wenden tot degene die de projecten gebruiken.

+

Deze projecten vallen integraal onder het algemene beleid.

- <%= render '/partials/_up.erb' %> -

Projecten/diensten als verwerker

+

Projecten/diensten als verwerker

Zeus werkt mee aan volgende projecten of diensten als verwerker, zoals bepaald hierboven.

- <%= render '/partials/_up.erb' %> -

Projecten in ontwikkeling

+

Projecten in ontwikkeling

-

Deze projecten zijn nog in ontwikkeling. Het is u verboden persoonlijke data aan deze projecten mee te delen. Indien u dit toch zou doen, dient u ons zo snel mogelijk te contacteren, zodat de data verwijderd kunnen worden.

+

Deze projecten zijn nog in ontwikkeling. U mag geen persoonlijke data aan deze projecten leveren. Doet u dit toch, dan is dit op eigen risico: noch de functionaliteit, noch de beveiliging van deze projecten staat op punt.

+

Ongebruikte projecten

+ +

Ter informatie volgt een lijst van projecten die ofwel geen Zeus-project zijn ofwel niet meer door Zeus gebruikt worden. Zeus heeft alle gegevens voor deze projecten verwijderd indien van toepassing.

+ + + +

Hoe contacteert u ons en laat u uw rechten gelden?

+ +

Om uw rechten te laten gelden, voor vragen of opmerkingen, kan u ons contacteren via TODO contactpagina.

+ +

Hieronder sommen we kort uw rechten op:

+ + + +

Merk op dat bovenstaande slechts een opsomming van de algemene rechten is. Dit zegt niets over de toepasbaarheid bij dit privacybeleid.

+ diff --git a/content/privacy/cat.md b/content/privacy/cat.md new file mode 100644 index 0000000..4159f30 --- /dev/null +++ b/content/privacy/cat.md @@ -0,0 +1,3 @@ +--- +status: general +--- diff --git a/content/privacy/dap.md b/content/privacy/dap.md new file mode 100644 index 0000000..adee0d4 --- /dev/null +++ b/content/privacy/dap.md @@ -0,0 +1,3 @@ +--- +status: development +--- \ No newline at end of file diff --git a/content/privacy/doorkeeper.md b/content/privacy/doorkeeper.md new file mode 100644 index 0000000..4159f30 --- /dev/null +++ b/content/privacy/doorkeeper.md @@ -0,0 +1,3 @@ +--- +status: general +--- diff --git a/content/privacy/dut.md b/content/privacy/dut.md new file mode 100644 index 0000000..b4db65a --- /dev/null +++ b/content/privacy/dut.md @@ -0,0 +1,3 @@ +--- +status: external +--- \ No newline at end of file diff --git a/content/privacy/fathom.md b/content/privacy/fathom.md index fd64765..e4b1a53 100644 --- a/content/privacy/fathom.md +++ b/content/privacy/fathom.md @@ -1,6 +1,6 @@ --- name: Fathom -status: responsible +status: additional --- TODO \ No newline at end of file diff --git a/content/privacy/fk-enrolment.md b/content/privacy/fk_enrolment.md similarity index 100% rename from content/privacy/fk-enrolment.md rename to content/privacy/fk_enrolment.md diff --git a/content/privacy/gamification.md b/content/privacy/gamification.md index b53063c..7b054a6 100644 --- a/content/privacy/gamification.md +++ b/content/privacy/gamification.md @@ -1,6 +1,6 @@ --- name: Gamification -status: responsible +status: additional --- Met Gamification wordt het project bedoeld dat beschikbaar is via https://zeus.ugent.be/game. diff --git a/content/privacy/gitlab.md b/content/privacy/gitlab.md index 8189003..3e8ecf3 100644 --- a/content/privacy/gitlab.md +++ b/content/privacy/gitlab.md @@ -1,6 +1,6 @@ --- name: Gitlab -status: responsible +status: additional --- - Data die je ingeeft diff --git a/content/privacy/haldis.md b/content/privacy/haldis.md new file mode 100644 index 0000000..8350c79 --- /dev/null +++ b/content/privacy/haldis.md @@ -0,0 +1,5 @@ +--- +status: additional +--- + +TODO: uitleg over statistieken diff --git a/content/privacy/httpizza.md b/content/privacy/httpizza.md new file mode 100644 index 0000000..b4db65a --- /dev/null +++ b/content/privacy/httpizza.md @@ -0,0 +1,3 @@ +--- +status: external +--- \ No newline at end of file diff --git a/content/privacy/hydra.md b/content/privacy/hydra.md index 618da76..c675d6a 100644 --- a/content/privacy/hydra.md +++ b/content/privacy/hydra.md @@ -1,6 +1,6 @@ --- name: Hydra -status: responsible +status: additional --- Dit privacybeleid is niet van toepassing op Hydra, dat zijn eigen [privacybeleid](https://hydra.ugent.be/privacy-policy.html) heeft. diff --git a/content/privacy/mattermost.md b/content/privacy/mattermost.md index d79c994..398dbf8 100644 --- a/content/privacy/mattermost.md +++ b/content/privacy/mattermost.md @@ -1,6 +1,6 @@ --- name: Mattermost -status: responsible +status: additional --- Bij Mattermost is het [standaardprivacybeleid](https://github.com/mattermost/mattermost-server/blob/master/build/PRIVACY_POLICY.md) van een zelf-gehoste Mattermost-applicatie van toepassing. diff --git a/content/privacy/mozaic.md b/content/privacy/mozaic.md new file mode 100644 index 0000000..2cf8912 --- /dev/null +++ b/content/privacy/mozaic.md @@ -0,0 +1,3 @@ +--- +status: development +--- diff --git a/content/privacy/sad.md b/content/privacy/sad.md new file mode 100644 index 0000000..4159f30 --- /dev/null +++ b/content/privacy/sad.md @@ -0,0 +1,3 @@ +--- +status: general +--- diff --git a/content/privacy/website.md b/content/privacy/site.md similarity index 97% rename from content/privacy/website.md rename to content/privacy/site.md index 3565dba..f36a13f 100644 --- a/content/privacy/website.md +++ b/content/privacy/site.md @@ -1,6 +1,6 @@ --- name: Website -status: responsible +status: additional --- De website van Zeus verzamelt bijkomende data: diff --git a/content/privacy/slotmachien.md b/content/privacy/slotmachien.md new file mode 100644 index 0000000..dead2e4 --- /dev/null +++ b/content/privacy/slotmachien.md @@ -0,0 +1,4 @@ +--- +status: external +--- + diff --git a/content/privacy/tab.md b/content/privacy/tab.md new file mode 100644 index 0000000..11242b2 --- /dev/null +++ b/content/privacy/tab.md @@ -0,0 +1,6 @@ +--- +status: additional +--- + +TODO: info + diff --git a/content/privacy/tap.md b/content/privacy/tap.md new file mode 100644 index 0000000..4379a1e --- /dev/null +++ b/content/privacy/tap.md @@ -0,0 +1,5 @@ +--- +status: additional +--- + +TODO: info diff --git a/content/privacy/tappb.md b/content/privacy/tappb.md new file mode 100644 index 0000000..aa7be11 --- /dev/null +++ b/content/privacy/tappb.md @@ -0,0 +1,10 @@ +--- +status: additional +--- + +Tappb verzamelt bijkomende data door het gebruik van Firebase. Het [het privacybeleid](https://firebase.google.com/support/privacy) (Engels) van Firebase verschaft uitgebreide informatie. Concreet gebruikt Tappb volgende diensten en gebruikt daarbij volgende data: + +- **Firebase Cloud Messaging**. Dit wordt gebruikt om meldingen naar de applicatie te sturen. Hiervoor wordt het "instance ID" verzameld, om te identificeren naar welk toestel een melding gestuurd moet worden. Deze worden onbeperkt bijgehouden. Indien dit ID wenst te verwijderen, zal Firebase het ID binnen de 180 dagen verwijderen. +- **ML Kit for Firebase**. Dit wordt gebruikt om de barcodes van producten te scannen. De afbeeldingen met barcodes worden tijdelijk bewaard op de servers van Firebase en worden gewoonlijk na enkele uren verwijderd. Meer informatie is tevens te vinden op [deze pagina](https://cloud.google.com/vision/docs/data-usage) (Engels). Ook hier worden "instance ID"s bijgehouden, volgens dezelfde voorwaarden als bij Firebase Cloud Messaging. + +Ook gebruikt Tappb de diensten van [Tab](#tab) en [Tap](#tap). \ No newline at end of file diff --git a/content/privacy/tuxcape.md b/content/privacy/tuxcape.md new file mode 100644 index 0000000..adee0d4 --- /dev/null +++ b/content/privacy/tuxcape.md @@ -0,0 +1,3 @@ +--- +status: development +--- \ No newline at end of file diff --git a/content/privacy/zauth.md b/content/privacy/zauth.md new file mode 100644 index 0000000..adee0d4 --- /dev/null +++ b/content/privacy/zauth.md @@ -0,0 +1,3 @@ +--- +status: development +--- \ No newline at end of file diff --git a/content/privacy/zinc.md b/content/privacy/zinc.md new file mode 100644 index 0000000..4159f30 --- /dev/null +++ b/content/privacy/zinc.md @@ -0,0 +1,3 @@ +--- +status: general +--- diff --git a/content/projects/12urenloop.md b/content/projects/12urenloop.md index 4cc1898..edc24bc 100644 --- a/content/projects/12urenloop.md +++ b/content/projects/12urenloop.md @@ -1,7 +1,4 @@ --- -title: 12urenloop -github: https://github.com/ZeusWPI/12urenloop -site: https://12urenloop.be/ logo_image: 12urenloop.png priority: 50 --- diff --git a/content/projects/blokmap.md b/content/projects/blokmap.md index 4fe0639..e117d41 100644 --- a/content/projects/blokmap.md +++ b/content/projects/blokmap.md @@ -1,7 +1,4 @@ --- -title: Blokmap -github: https://github.com/ZeusWPI/blokmap -site: http://blok.ugent.be/ logo_image: Logos_Blokmap.svg priority: 25 --- diff --git a/content/projects/cat.md b/content/projects/cat.md index 59cb42d..d9f45fc 100644 --- a/content/projects/cat.md +++ b/content/projects/cat.md @@ -1,7 +1,4 @@ --- -title: Cat -site: https://cat.zeus.gent/ -gitlab: https://git.zeus.gent/ZeusWPI/cat logo_image: cat.png priority: 35 --- diff --git a/content/projects/doorkeeper.md b/content/projects/doorkeeper.md index c138dcd..b8fb11c 100644 --- a/content/projects/doorkeeper.md +++ b/content/projects/doorkeeper.md @@ -1,7 +1,4 @@ --- -title: Doorkeeper -github: https://github.com/ZeusWPI/Doorkeeper -site: https://github.com/ZeusWPI/Doorkeeper logo_image: Logos_Slotmachiin.svg priority: 30 --- diff --git a/content/projects/fk_enrolment.md b/content/projects/fk_enrolment.md index 1e24b6b..3355b6f 100644 --- a/content/projects/fk_enrolment.md +++ b/content/projects/fk_enrolment.md @@ -1,7 +1,4 @@ --- -title: FK Enrolment. -github: https://github.com/ZeusWPI/FK-enrolment -site: https://registratie.fkgent.be/ logo_letter: E logo_color: "#FFBBDD" priority: 5 diff --git a/content/projects/g2.md b/content/projects/g2.md index 333d4da..04a5087 100644 --- a/content/projects/g2.md +++ b/content/projects/g2.md @@ -1,7 +1,4 @@ --- -title: G2 -github: https://github.com/ZeusWPI/g2-frontend -site: https://github.com/ZeusWPI/g2-backend logo_image: Logos_G2.svg priority: 45 --- diff --git a/content/projects/gamification.md b/content/projects/gamification.md index 22a638e..f70433c 100644 --- a/content/projects/gamification.md +++ b/content/projects/gamification.md @@ -1,7 +1,4 @@ --- -title: Gamification -github: https://github.com/ZeusWPI/Gamification -site: https://zeus.ugent.be/game logo_image: Logos_Gamification.svg priority: 30 --- diff --git a/content/projects/gandalf.md b/content/projects/gandalf.md index 00e25d8..92e7894 100644 --- a/content/projects/gandalf.md +++ b/content/projects/gandalf.md @@ -1,7 +1,4 @@ --- -title: Gandalf -github: https://github.com/ZeusWPI/Gandalf -site: https://event.fkgent.be/ logo_image: Logos_Gandalf.svg priority: 5 --- diff --git a/content/projects/haldis.md b/content/projects/haldis.md index ecd472e..989450b 100644 --- a/content/projects/haldis.md +++ b/content/projects/haldis.md @@ -1,7 +1,4 @@ --- -title: Haldis -github: https://github.com/ZeusWPI/Haldis -site: https://haldis.zeus.gent/ logo_image: Logos_Haldis.svg priority: 35 --- diff --git a/content/projects/lana.md b/content/projects/lana.md index 79a7996..634d81e 100644 --- a/content/projects/lana.md +++ b/content/projects/lana.md @@ -1,7 +1,4 @@ --- -title: Lana -github: https://github.com/ZeusWPI/Lana -site: https://github.com/ZeusWPI/Lana logo_letter: L logo_color: "#E4C6A7" priority: 20 diff --git a/content/projects/mozaic.md b/content/projects/mozaic.md index 6588998..34bf088 100644 --- a/content/projects/mozaic.md +++ b/content/projects/mozaic.md @@ -1,7 +1,4 @@ --- -title: Mozaic -github: https://github.com/ZeusWPI/mozaic -site: https://github.com/ZeusWPI/mozaic logo_image: mozaic.png priority: 41 --- diff --git a/content/projects/saruman.md b/content/projects/saruman.md index 7e6677a..889e403 100644 --- a/content/projects/saruman.md +++ b/content/projects/saruman.md @@ -1,7 +1,4 @@ --- -title: Saruman -github: https://github.com/ZeusWPI/Saruman -site: https://materiaal.12urenloop.be/ logo_letter: S logo_color: grey priority: 5 diff --git a/content/projects/site.md b/content/projects/site.md index 5264d00..94f3f49 100644 --- a/content/projects/site.md +++ b/content/projects/site.md @@ -1,7 +1,4 @@ --- -title: zeus.ugent.be -github: https://github.com/ZeusWPI/zeus.ugent.be -site: https://zeus.ugent.be logo_letter: Z logo_color: "#FF7F00" priority: 40 diff --git a/content/projects/slotmachien.md b/content/projects/slotmachien.md index e3b62b1..e469305 100644 --- a/content/projects/slotmachien.md +++ b/content/projects/slotmachien.md @@ -1,7 +1,4 @@ --- -title: SlotMachien -github: https://github.com/ZeusWPI/slotmachien -site: https://github.com/ZeusWPI/slotmachien logo_image: Logos_Slotmachien.svg priority: -1 --- diff --git a/content/projects/tab.md b/content/projects/tab.md index a024090..4661028 100644 --- a/content/projects/tab.md +++ b/content/projects/tab.md @@ -1,7 +1,4 @@ --- -title: Tab -github: https://github.com/ZeusWPI/Tab -site: https://tab.zeus.gent/ logo_image: Logos_Tab.svg priority: 40 --- diff --git a/content/projects/tap.md b/content/projects/tap.md index de04cde..08a135c 100644 --- a/content/projects/tap.md +++ b/content/projects/tap.md @@ -1,7 +1,4 @@ --- -title: Tap -github: https://github.com/ZeusWPI/Tap -site: https://tap.zeus.gent/ logo_image: Logos_Tap.svg priority: 40 --- diff --git a/content/projects/tappb.md b/content/projects/tappb.md index 22f019a..4af239d 100644 --- a/content/projects/tappb.md +++ b/content/projects/tappb.md @@ -1,7 +1,4 @@ --- -title: Tappb -github: https://github.com/ZeusWPI/tappb -site: https://play.google.com/store/apps/details?id=gent.zeus.tappb logo_image: Logos_Tappb.svg priority: 39 --- diff --git a/data/projecten.yaml b/data/projecten.yaml new file mode 100644 index 0000000..5c2e497 --- /dev/null +++ b/data/projecten.yaml @@ -0,0 +1,102 @@ +--- +data: + 12urenloop: + name: 12urenloop + site: https://12urenloop.be/ + repo: https://github.com/12urenloop + blokmap: + name: Blokmap + site: https://blok.ugent.be + repo: https://github.com/ZeusWPI/blokmap + cat: + name: Cat + site: https://cat.zeus.gent/ + repo: https://git.zeus.gent/ZeusWPI/cat + dap: + name: De Account Pagina + repo: https://github.com/ZeusWPI/DAP + doorkeeper: + name: Doorkeeper + repo: https://github.com/ZeusWPI/Doorkeeper + dut: + name: Dark Ufora Theme + repo: https://github.com/ZeusWPI/DUT + fathom: + name: Fathom + site: https://stats.zeus.gent/ + fk_enrolment: + name: FK Enrolment + site: https://registratie.fkgent.be/ + repo: https://github.com/ZeusWPI/FK-enrolment + g2: + name: G2 + site: https://github.com/ZeusWPI/g2-frontend + repo: https://github.com/ZeusWPI/g2-backend + gamification: + name: Gamification + site: https://zeus.ugent.be/game + repo: https://github.com/ZeusWPI/Gamification + gandalf: + name: Gandalf + site: https://event.fkgent.be/ + repo: https://github.com/ZeusWPI/Gandalf + gitlab: + name: Gitlab + site: https://git.zeus.gent + haldis: + name: Haldis + site: https://haldis.zeus.gent/ + repo: https://github.com/ZeusWPI/Haldis + httpizza: + name: HTTPizza + repo: https://github.com/ZeusWPI/HTTPizza + hydra: + name: Hydra + site: https://hydra.ugent.be + repo: https://github.com/ZeusWPI/Hydra + lana: + name: Lana + repo: https://github.com/ZeusWPI/Lana + mattermost: + name: Mattermost + site: https://mattermost.zeus.gent + mozaic: + name: Mozaic + repo: https://github.com/ZeusWPI/mozaic + sad: + name: "Services Are Down D: Status" + site: https://sad.zeus.gent/ + repo: https://github.com/ZeusWPI/SADStatus + saruman: + name: Saruman + site: https://materiaal.12urenloop.be/ + repo: https://github.com/ZeusWPI/Saruman + site: + name: zeus.ugent.be + site: https://zeus.ugent.be + repo: https://github.com/ZeusWPI/zeus.ugent.be + slotmachien: + name: SlotMachien + repo: https://github.com/ZeusWPI/slotmachien + tab: + name: Tab + site: https://tab.zeus.gent/ + repo: https://github.com/ZeusWPI/Tab + tap: + name: Tap + site: https://tap.zeus.gent/ + repo: https://github.com/ZeusWPI/Tap + tappb: + name: Tappb + site: https://play.google.com/store/apps/details?id=gent.zeus.tappb + repo: https://github.com/ZeusWPI/tappb + tuxcape: + name: TuxcAPE + repo: https://github.com/ZeusWPI/Tuxcape + zauth: + name: Zeus AUTHentication Service + repo: https://github.com/ZeusWPI/zauth + zinc: + name: ZINC + site: https://zinc.zeus.gent + repo: https://github.com/ZeusWPI/zinc diff --git a/layouts/partials/_privacy.erb b/layouts/partials/_privacy.erb index 633df4f..b5adf09 100644 --- a/layouts/partials/_privacy.erb +++ b/layouts/partials/_privacy.erb @@ -1,6 +1,21 @@ -

<%= project[:name] %>

-<% if project.compiled_content %> - <%= project.compiled_content %> -<% else %> +

<%= project[:name] %>

+

+ <% if project.key?(:site) || project.key?(:repo) %> + Meer informatie: + <% end %> + <% if project.key?(:site) %> + website + <% end %> + <% if project.key?(:site) && project.key?(:repo) %> + | + <% end %> + <% if project.key?(:repo) %> + repo + <% end %> +

+ +<% if project.compiled_content.strip.empty? %>

Dit project kent geen afwijkingen van het algemeen beleid.

+<% else %> + <%= project.compiled_content %> <% end %> diff --git a/layouts/partials/_privacy_link.erb b/layouts/partials/_privacy_link.erb new file mode 100644 index 0000000..44e85cb --- /dev/null +++ b/layouts/partials/_privacy_link.erb @@ -0,0 +1,9 @@ +
  • + <% if project.key?(:site) %> + <%= project[:name] %> + <% elsif project.key?(:repo) %> + <%= project[:name] %> + <% else %> + <%= project[:name] %> + <% end %> +
  • \ No newline at end of file diff --git a/layouts/partials/_project.erb b/layouts/partials/_project.erb index a67622d..c541d18 100644 --- a/layouts/partials/_project.erb +++ b/layouts/partials/_project.erb @@ -1,4 +1,4 @@ -
    +
    <% if project[:logo_image] %> @@ -12,13 +12,20 @@ <% end %>
    -

    <%= project[:title] %>

    - <%= project.compiled_content %> - <% if project[:github] %> - + <% if project.key?(:site) %> +

    <%= project[:name] %>

    + <% else %> +

    <%= project[:name] %>

    <% end %> - <% if project[:gitlab] %> - + <%= project.compiled_content %> + <% if project.key?(:repo) %> + <% if project[:repo].include?("github.com") || project[:repo].include?("github.ugent.be") %> + + <% elsif project[:repo].include?("git.zeus.gent") %> + + <% else %> + + <% end %> <% end %>
    diff --git a/layouts/partials/_up.erb b/layouts/partials/_up.erb deleted file mode 100644 index 277c8ea..0000000 --- a/layouts/partials/_up.erb +++ /dev/null @@ -1,4 +0,0 @@ -
    -
    - Omhoog ↑ -
    \ No newline at end of file diff --git a/lib/helpers/preprocess.rb b/lib/helpers/preprocess.rb index 3574b6a..d0d74fe 100644 --- a/lib/helpers/preprocess.rb +++ b/lib/helpers/preprocess.rb @@ -6,16 +6,33 @@ module PreprocessHelper title: 'The event does not include a :title', location: 'The event should include a :location, a textual description', locationlink: 'The event does not include a :locationlink, which is a querystring which is used for Google Maps' + }, + privacy: { + status: 'A privacy item must include the status of the project' } } end + def allowed_privacy_status + [ + "additional", + "general", + "processor", + "development", + "external" + ] + end + def check_schema(itemtype, item) schema = required_attrs[itemtype] (schema.keys - item.attributes.keys).each do |key| raise "#{item.identifier}: #{schema[key]}" end + + if itemtype == :schema && !allowed_privacy_status.include?(item.attributes.status) + raise "status must be one of #{allowed_privacy_status}" + end end def ignore_old_content(*paths) @@ -83,4 +100,24 @@ module PreprocessHelper report[:date] = Date.strptime(report.identifier.without_ext.split('/').last) end end + + def update_project_item(projects, project) + id = project.identifier.without_ext.split('/')[-1] + if projects.key?(id.to_sym) + projects[id.to_sym].each do |key, value| + project[key] = value + end + project[:id] = id + end + end + + def add_project_metadata + projects = data_from(:projecten) + @items.find_all('/privacy/*').each do |project| + update_project_item(projects, project) + end + @items.find_all('/projects/*').each do |project| + update_project_item(projects, project) + end + end end diff --git a/lib/helpers/privacy.rb b/lib/helpers/privacy.rb index fd6680c..54bb293 100644 --- a/lib/helpers/privacy.rb +++ b/lib/helpers/privacy.rb @@ -1,6 +1,11 @@ module PrivacyHelper - def privacy_projects(status) + + def all_privacy_projects @items.find_all('/privacy/*') + end + + def privacy_projects(status) + all_privacy_projects .select {|project| project[:status] == status} .sort_by {|project| project[:name]} end