Skip to content
Snippets Groups Projects
  1. Jan 12, 2018
    • Benjamin Bertrand's avatar
      Cache user retrieval · 0efae3a3
      Benjamin Bertrand authored
      The user_id is stored in the flask session. On every page load, we query
      the database to get:
      - the user objet (user_account table)
      - the user's groups (group table) to know what the user can access
      
      If we try to cache the user_load function, the following error is raised
      when retrieving the groups:
      sqlalchemy.orm.exc.DetachedInstanceError: Parent instance <User at
      0x7f51e050a940> is not bound to a Session; lazy load operation of
      attribute 'grp' cannot proceed
      
      The groups from AD are only stored to map them with CSENTRY_LDAP_GROUPS.
      We don't do any query on them (get all users from one group).
      As we always query them with one user, it's more efficient to store them
      in the user_account table as an array than in a separate table.
      This allows to easily cache the load_user function.
      
      Note that we have to remember to add the current_user to the sqlalchemy session if
      we want to modify it or access a relationship (like tokens)!
      
      The load_user function is now cached for 30 minutes. This decreases a
      lot the number of database queries.
      
      Fix INFRA-156
      0efae3a3
  2. Jan 03, 2018
  3. Jan 02, 2018
  4. Dec 22, 2017
  5. Dec 21, 2017
  6. Dec 20, 2017
  7. Dec 19, 2017
  8. Dec 18, 2017
    • Benjamin Bertrand's avatar
      Define temporary ICS id that can be changed · fd3109c4
      Benjamin Bertrand authored
      It shouldn't be possible to change the ICS id of an item.
      But when registering a bunch of existing items via the API, we need to
      allocate an ics_id otherwise not much can be done in the interface.
      The id is required for the view and edit page.
      
      The solution is to define some "temporary" ids that don't correspond to
      any pre-printed labels.
      Items with a temporary id can be assigned a real ics_id when assigning a
      label.
      
      Reserved ids start with 'ZZ' (from ZZA000 to ZZZ999)
      
      ICS id can now be non nullable.
      fd3109c4
  9. Dec 15, 2017
  10. Dec 13, 2017
    • Benjamin Bertrand's avatar
      Refactor database schema · a5963f99
      Benjamin Bertrand authored
      - Rename Host to Interface
      - Create new Host table to group interfaces
      a5963f99
    • Benjamin Bertrand's avatar
      Display CSEntry groups in profile · febf5fa9
      Benjamin Bertrand authored
      There is no point displaying the LDAP groups in the profile
      febf5fa9
    • Benjamin Bertrand's avatar
      Add token revoking · c5965f94
      Benjamin Bertrand authored
      - All created tokens are stored in the database.
        To revoke a token, we just delete it from the database.
        Tokens not found in the database are thus considered unvalid / revoked.
      
      - Add button to copy generated token to the clipboard
      
      - Redesign profile page
      c5965f94
  11. Dec 06, 2017
  12. Nov 20, 2017
  13. Nov 17, 2017
  14. Nov 15, 2017
  15. Nov 14, 2017
Loading