1. 24 Sep, 2018 1 commit
  2. 19 Sep, 2018 1 commit
  3. 07 Aug, 2018 1 commit
  4. 31 Jul, 2018 1 commit
  5. 28 Jun, 2018 1 commit
    • BERJON Matthieu's avatar
      Bug fix: markdown renderer · 74bbf63a
      BERJON Matthieu authored
      
      
      The version of misaka used in development and in the docker container
      weren't the same, bringing a type error. I fixed by using the right
      syntax. The drawback of using an older version of misaka markdown
      renderer is the lack of extesion support for some common features such
      as footnotes and new syntax for links.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
      74bbf63a
  6. 27 Jun, 2018 1 commit
    • BAIRE Anthony's avatar
      Stream job logs and job state updates to the user · 1bb4acf4
      BAIRE Anthony authored
      This commit makes several changes.
      
      In the controller:
      
      - duplicates the logs produced by the jobs. Initially they were only
        stored into allgo.log, now they are also forwarded to the container
        output (using the 'tee' command) so that the controller can read
        them
      
      - add a log_task that reads the logs from docker and feeds them into
        the redis db key "log:job:<ID>" (this is implemented with aiohttp
        in order to be fully asynchronous)
      
      - store the job state in a new redis key "state:job:<ID>"
      
      - send notification to the redis pubsub 'notify:aio' channel when
        the job state has changed or when new logs are available
      
      In the allgo.aio frontend:
      
      - implement the /aio/jobs/<ID>/events endpoints which streams all
        job events & logs to the client (using json formatted messages)
      
      In django:
      
      - refactor the JobDetail view and template to update the page
        dynamically for job updates (state/logs)
          - allgo.log is read only when the job is already terminated.
            Otherwise the page uses the /aio/jobs/<ID>/events channel
            to stream the logs
          - the state icon is patched on the page when the state changes,
            except for the DONE state which triggers a full page reload
            (because there are other parts to be updated)
      1bb4acf4
  7. 26 Jun, 2018 1 commit
    • BAIRE Anthony's avatar
      render the job status with a template filter · f87d9f4c
      BAIRE Anthony authored
      This makes much less code (and possibly less bugs!)
      
      Also I did two other changes:
      
      - removed the "result" field from the template and use the 'status'
        field instead. Actually the status is what we display to the user (the
        'state' and 'result' fields are internal to allgo).
      
        The status is the textual representation of:
        - the 'result' field if the job is terminated (success, error, timeout
          or aborted)
        - the 'state' field otherwise (new, waiting, running, aborting)
      
      - changed the colors of the waiting and timeout state
        - waiting:  orange -> yellow
        - timeout:  yellow -> orange
        The rationale is that 'waiting' is a more normal state than
        'timeout' (thus the timeout color should be closer to red)
      
      - introduce a separate icon for the 'aborting' state (orange fa-play)
      f87d9f4c
  8. 20 Jun, 2018 1 commit
  9. 31 May, 2018 2 commits
    • BERJON Matthieu's avatar
      Rewriting of the webapp list template · 4be25621
      BERJON Matthieu authored
      
      
      I rewrote the webapp list template. I changed the style completely using
      bootstrap cards.
      I added two specific template filters. One is dedicated to extract the
      first and last name of the contact email (can be done because inria and
      irisa email have coherent naming pattern). The other filter is to
      prettify some apps names such as replacing underscores by spaces.
      
      I removed as well the momentjs library call (that was commented) and use
      the Django builtin library called `humanize` that display that has a
      filter to display nice dates used in the template (such as relative
      dates).
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
      4be25621
    • BERJON Matthieu's avatar
      Rewriting of webapp creation view and template · b732a62d
      BERJON Matthieu authored
      
      
      I rewrote the the webapp creation view to satisfy new requirements. I
      first changed the route to be coherent with the new routing system. I
      changed the view name to be coherent with the new view naming (removing
      the `View` as the end of the class name as it's obvious.
      
      I rewrote completely the template for the webapp creation by adding two
      panels, one for the basic and mandatory data and another one for the
      advanced data.
      
      I added a new button on the webapp list template that display a button
      allowing only users in the `inria` group to create applications.
      
      I created a template tag in order to be able to check if a user belongs
      to a particular group in the template.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
      b732a62d
  10. 02 May, 2018 1 commit
    • BERJON Matthieu's avatar
      Update of active links · 3035cba4
      BERJON Matthieu authored
      
      
      I updated the active links system by creating a templatetag `is_active`.
      The issue was that the old system was unable to parser several  endpoints. Now
      it's possible to specify as many endpoints as required by their related
      name (defined in the `urls.py` file. This system is a bit more
      cumbersome than trying to just active a link according to its base
      directory but the advantage is that if you change the endpoints in the
      `urls.py` file you won't have to update the template.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
      3035cba4
  11. 12 Apr, 2018 1 commit
  12. 10 Apr, 2018 1 commit
    • BERJON Matthieu's avatar
      Add of new template filters · 02059e7b
      BERJON Matthieu authored
      
      
      For coherence I renamed the markdown filter file in order to add some
      other converters if necessary. I added a htmlattrs filter file that can
      surcharge any type of html tag that would be generated by Django and
      avoid to modify the code in a view or a form with css or other needs.
      Every modification takes place in the template.
      Signed-off-by: BERJON Matthieu's avatarMatthieu Berjon <matthieu.berjon@inria.fr>
      02059e7b
  13. 09 Apr, 2018 1 commit