Skip to content
Snippets Groups Projects
  1. Mar 07, 2018
    • Benjamin Bertrand's avatar
      Accept a list of LDAP groups · 89a98b9b
      Benjamin Bertrand authored
      Not everyone at ICS is part of the 'ICS Employees' AD group.
      We have to accept 'ICS Consultants' as well.
      
      The CSENTRY_LDAP_GROUPS settings now takes a list of groups instead of
      just one.
      
      Remove unused is_member_of_all_groups method.
      
      Fixes INFRA-225
      89a98b9b
  2. Feb 28, 2018
  3. Feb 26, 2018
    • Benjamin Bertrand's avatar
      Fix broken test · 815463b9
      Benjamin Bertrand authored
      Fix error:
      User instance is not bound to a Session; attribute refresh operation cannot proceed
      815463b9
  4. Feb 23, 2018
  5. Feb 12, 2018
    • Benjamin Bertrand's avatar
      Allow admin to create interface outside range · a653f0d9
      Benjamin Bertrand authored
      The network range defines the IP to be allocated.
      This is to reserve some specific addresses (for gateway for example).
      
      An admin user should be able to define an interface outside the network
      range.
      
      The IP address select field was replaced with a string field
      (initialized to the first available IP).
      
      Fixes INFRA-200
      a653f0d9
  6. Feb 09, 2018
    • Benjamin Bertrand's avatar
      Add domain table · f627e2c9
      Benjamin Bertrand authored
      - add domain_id on NetworkScope table to define a default domain
      - add domain_id on Network (default to the Network Scope one)
      
      Fixes INFRA-194
      f627e2c9
  7. Feb 02, 2018
  8. Jan 18, 2018
  9. Jan 16, 2018
  10. Jan 12, 2018
    • Benjamin Bertrand's avatar
    • Benjamin Bertrand's avatar
      Fix inconsistency in interface creation · a3c407f4
      Benjamin Bertrand authored
      The string representation of a Network is the vlan_name.
      This is what we should allow to pass as string to create an interface.
      
      Note that if we pass network_id instead of network when creating
      and interface, the validate_interfaces method from the Network class
      is not called.
      a3c407f4
    • 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
  11. Jan 03, 2018
  12. Jan 02, 2018
  13. Dec 22, 2017
  14. Dec 21, 2017
  15. Dec 20, 2017
  16. Dec 19, 2017
  17. 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
  18. Dec 15, 2017
  19. 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
Loading