WIP: ATTENDEE prop support #46

Draft
sinavir wants to merge 4 commits from mdebray/attendees into master
sinavir commented 2022-07-29 00:50:19 +02:00 (Migrated from git.rz.ens.wtf)

Voilà une première implementation (fonctionnelle).

J'ai pas encore décidé si il faut qu'on essaie d'intégrer la cal-address (cf https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.4.1 et https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.3) parce que dans bien des cas on risque de ne pas savoir quoi mettre...

Voilà une première implementation (fonctionnelle). J'ai pas encore décidé si il faut qu'on essaie d'intégrer la `cal-address` (cf https://datatracker.ietf.org/doc/html/rfc5545#section-3.8.4.1 et https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.3) parce que dans bien des cas on risque de ne pas savoir quoi mettre...
sinavir commented 2022-07-29 01:03:36 +02:00 (Migrated from git.rz.ens.wtf)

N'hésitez pas à faire des retours

N'hésitez pas à faire des retours
tomate (Migrated from git.rz.ens.wtf) reviewed 2022-07-29 12:20:25 +02:00
@ -228,3 +228,3 @@
const event = {}
vevent.forEach(elt => {
event[elt[0]] = elt[3]
switch (elt[0]) {
tomate (Migrated from git.rz.ens.wtf) commented 2022-07-29 12:20:25 +02:00

Ça me paraît bizarre de modifier le nom des attributs des events, et de faire de la logique ici, ce serait mieux de mettre toute la liste des attendees avec leur rôle dans l'event qu'on renvoie

Ça me paraît bizarre de modifier le nom des attributs des events, et de faire de la logique ici, ce serait mieux de mettre toute la liste des attendees avec leur rôle dans l'event qu'on renvoie
tomate (Migrated from git.rz.ens.wtf) commented 2022-07-29 22:30:21 +02:00

J'ajoute que == est à proscrire en JavaScript, c'est ===.

J'ajoute que `==` est à proscrire en JavaScript, c'est `===`.
tomate commented 2022-07-29 12:24:32 +02:00 (Migrated from git.rz.ens.wtf)

Après le rôle chair c'est plutôt celui d'organisateur, pas vraiment de conférencier, je pense que c'est plus logique de mettre les conférenciers dans le rôle participant et membres d'un groupe speaker, puis d'afficher les différents groupes dans le modal. Mais c'est plus complexe à mettre en place du coup

Après le rôle `chair` c'est plutôt celui d'organisateur, pas vraiment de conférencier, je pense que c'est plus logique de mettre les conférenciers dans le rôle `participant` et membres d'un groupe `speaker`, puis d'afficher les différents groupes dans le modal. Mais c'est plus complexe à mettre en place du coup
raito (Migrated from git.rz.ens.wtf) reviewed 2022-07-29 22:31:31 +02:00
raito (Migrated from git.rz.ens.wtf) left a comment

Je suis contre l'idée de faire de la logique dans le _parse_vevent qui se veut volontairement très simple et débile, il vaut mieux faire une seconde passe si tu préfères pour intégrer de la logique plus complexe.

Je suis contre l'idée de faire de la logique dans le `_parse_vevent` qui se veut volontairement très simple et débile, il vaut mieux faire une seconde passe si tu préfères pour intégrer de la logique plus complexe.
sinavir commented 2022-07-30 01:45:36 +02:00 (Migrated from git.rz.ens.wtf)

Vous avez raison , c'est mieux

Vous avez raison , c'est mieux
raito (Migrated from git.rz.ens.wtf) reviewed 2022-07-31 13:35:47 +02:00
raito (Migrated from git.rz.ens.wtf) reviewed 2022-08-01 17:42:24 +02:00
@ -228,3 +228,3 @@
const event = {}
vevent.forEach(elt => {
event[elt[0]] = elt[3]
switch (elt[0]) {
raito (Migrated from git.rz.ens.wtf) commented 2022-08-01 17:42:24 +02:00

Est ce que tu peux plutôt faire un switch case?

switch (elt[0]) {
  case "attendee":
  if (event.attendees == null) event.attendee = [];
  event.attendees.push({props: elt[1], val: elt[3]})
  default: event[elt[0]] = elt[3];
}

Ça me paraît plus clair comme logique, sachant qu'en plus, le attendees communique le fait que ça soit une liste.

Je sens qu'on veut TypeScript à un moment :).

Est ce que tu peux plutôt faire un `switch` case? ``` switch (elt[0]) { case "attendee": if (event.attendees == null) event.attendee = []; event.attendees.push({props: elt[1], val: elt[3]}) default: event[elt[0]] = elt[3]; } ``` Ça me paraît plus clair comme logique, sachant qu'en plus, le `attendees` communique le fait que ça soit une liste. Je sens qu'on veut TypeScript à un moment :).
raito (Migrated from git.rz.ens.wtf) commented 2022-08-01 18:22:50 +02:00

On va surtout utiliser une classe pour faire modéliser un event en suivant toutes les options de la RFC ^^

On va surtout utiliser une classe pour faire modéliser un event en suivant toutes les options de la RFC ^^
raito (Migrated from git.rz.ens.wtf) commented 2022-08-02 15:24:11 +02:00

Ouais mais je pense que ça serait bien de typer un peu pour l'autocomplétion et les expectations des users (du fragment de lib).

Ouais mais je pense que ça serait bien de typer un peu pour l'autocomplétion et les expectations des users (du fragment de lib).
sinavir commented 2022-08-08 13:01:16 +02:00 (Migrated from git.rz.ens.wtf)

J'ai mis le switch comme proposé. Par contre je n'ai pas gardé ta proposition de code qui rend le code dans le case "attendee" plus spécifique

(comme ça on pourra faire éventuellement

case "attendee":
case "xxxxx":
case "yyyyy":
  if (event[elt[0]] === undefined) event[elt[0]] = []
  event[elt[0]].push({
    props: elt[1],
    val: elt[3]
  })
  break

)

J'ai mis le switch comme proposé. Par contre je n'ai pas gardé ta proposition de code qui rend le code dans le case "attendee" plus spécifique (comme ça on pourra faire éventuellement ```javascript case "attendee": case "xxxxx": case "yyyyy": if (event[elt[0]] === undefined) event[elt[0]] = [] event[elt[0]].push({ props: elt[1], val: elt[3] }) break ``` )
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin mdebray/attendees:mdebray/attendees
git checkout mdebray/attendees

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git checkout master
git merge --no-ff mdebray/attendees
git checkout mdebray/attendees
git rebase master
git checkout master
git merge --ff-only mdebray/attendees
git checkout mdebray/attendees
git rebase master
git checkout master
git merge --no-ff mdebray/attendees
git checkout master
git merge --squash mdebray/attendees
git checkout master
git merge --ff-only mdebray/attendees
git checkout master
git merge mdebray/attendees
git push origin master
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/metis#46
No description provided.