1. 13 Oct, 2019 2 commits
  2. 13 Mar, 2019 1 commit
  3. 10 Feb, 2019 7 commits
  4. 20 Sep, 2018 1 commit
  5. 28 Aug, 2018 3 commits
  6. 23 Aug, 2018 3 commits
  7. 22 Aug, 2018 2 commits
  8. 05 Aug, 2018 1 commit
  9. 26 Jul, 2018 3 commits
  10. 25 Jul, 2018 2 commits
  11. 19 Jul, 2018 1 commit
  12. 18 Jul, 2018 1 commit
    • Klemens Schölhorn's avatar
      Save given and family name separately · a630abd5
      Klemens Schölhorn authored
      Previously the name of a student was stored as a single string. Even though
      this is the correct way, it complicates the import and sorting, because the
      original data source (almaweb) also stores the names separated. Before this
      change, the name parts were concatenated before import, which is obviously
      wrong. After this change, the names are imported and exported untransformed.
      
      To still support the correct workflow and also cultures which do not fit into
      this name schema, the family name is optional. The migration also just moves
      the complete name into the given name field.
      
      The display of the names is still incorrect in most of the tutor facing
      views, as given and family name are still concatenated. However, the admin
      view and export are now correct.
      a630abd5
  13. 17 Jul, 2018 2 commits
  14. 12 Jul, 2018 1 commit
  15. 11 Jul, 2018 1 commit
    • Klemens Schölhorn's avatar
      Add an optional IP address whitelist for tutors · d427ad1f
      Klemens Schölhorn authored
      The whitelist is disabled by default and does not affect site admins. It
      can be configured through the admin interface.
      
      It uses the postgresql inet support for storing hosts and nets and for
      figuring out, if a host is part of a net. This works for both IPv4 and
      IPv6.
      d427ad1f
  16. 10 Jul, 2018 3 commits
    • Klemens Schölhorn's avatar
      Push changes to other clients using server-sent events · d54b0b91
      Klemens Schölhorn authored
      This uses the hyper-sse crate to run a push server on a separate thread,
      because Rocket does not support SSE yet.
      
      Currently only changes to tasks, elaborations and comments are pushed,
      but this can be easily extended. The year is used as a push channel
      identifier, because it is the privilege boundary for tutors and is
      complete in the sense that there is no page that displays specific
      information that needs push messages from more than one year.
      
      Alternatively, a set of groups could be used as a channel identifier.
      This would theoretically result in less transferred messages, but as
      all tutors are looking at the same or similar pages during a single
      event of the hardware course, it would not make much practical
      difference.
      d54b0b91
    • Klemens Schölhorn's avatar
      Add experiment id to group on the event page · 81194412
      Klemens Schölhorn authored
      This is redundant and not strictly necessary, as all groups are children
      of an experiment element that also contains this id, but it allows
      selecting a specific group/experiement combination in the same way as
      on the group overview page, and so makes the upcoming javascript push
      implementation easier.
      81194412
    • Klemens Schölhorn's avatar
      863e4e0c
  17. 08 Jul, 2018 1 commit
  18. 21 Jun, 2018 2 commits
  19. 24 May, 2018 2 commits
  20. 17 May, 2018 1 commit