- Feb 09, 2018
-
-
Benjamin Bertrand authored
-
- Feb 08, 2018
-
-
Benjamin Bertrand authored
- Use gitlab-ci services instead of docker-compose to run postgres and redis - Switch to docker socket
-
Benjamin Bertrand authored
-
- Feb 06, 2018
-
-
Benjamin Bertrand authored
Allow to use a scanner configured as keyboard to register items via the web UI. 1. The attributes should be selected manually 2. Focus set manually on ICS id 3. Scan an ICS id -> prefix removed and focus set to serial number 4. Scan serial number 5. Click on submit 6. Focus set automatically on ICS id 7. Repeat from 3
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Every tagged release is automatically deployed to staging by launching the job template from Ansible AWX
-
- Feb 02, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
-
- Jan 29, 2018
-
-
Benjamin Bertrand authored
Let alembic handle the database creation and migration
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
CI_COMMIT_REF_NAME is the branch or tag name 1. When pushing a tag the TEST_IMAGE doesn't exist. We always pull master for cache. 2. Make sure the pull of the cache image doesn't fail even if the image doesn't exist
-
Benjamin Bertrand authored
-
- Jan 28, 2018
-
-
Benjamin Bertrand authored
ResolvePackageNotFound: - blinker 1.4 py36_0 - wheel 0.30.0 py_1 Update flask-bootstrap to 4.0.0.0.dev1
-
- Jan 18, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Allow to keep track of batches of small parts.
-
- Jan 16, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Command shall be run every night to keep the users in the database in sync with the LDAP server. If a user is not found: - set its groups to [] - revoke all its tokens
-
- Jan 12, 2018
-
-
Benjamin Bertrand authored
-
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.
-
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
-
- Jan 11, 2018
-
-
Benjamin Bertrand authored
-
- Jan 10, 2018
-
-
Benjamin Bertrand authored
All endpoints are plural
-
- Jan 08, 2018
-
-
Benjamin Bertrand authored
Pagination information (next, prev, first, last) is included in the Link HTTP header. The total number of entries is provided in the X-Total-Count HTTP header.
-
- Jan 05, 2018
-
-
Benjamin Bertrand authored
gateway tag shall be admin_only
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Only keep the values really required by the application.
-
- Jan 04, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Fix failure for ajax request GET /inventory/_retrieve_items?draw=7&columns...: invalid request block size: 5574 (max 4096)...skip # Please enter the commit message for your changes. Lines starting
-
Benjamin Bertrand authored
Sorting on manufacturer/model/location/status requires a join which removes the row with empty field. Disable it until we find a way to sort properly including null values.
-
Benjamin Bertrand authored
When there are more than a 1000 items in the table, retrieving and displaying all items takes about 7 seconds. This is every time we refresh the items page, which is too slow.
-
- Jan 03, 2018
-
-
Benjamin Bertrand authored
Some tags (like gateway) should only be selectable by admin users.
-
Benjamin Bertrand authored
- The query to retrieve used ICS ids was run at each iteration of the loop... - Use a set to quickly test the existence of used ICS ids
-
Benjamin Bertrand authored
Enable to run the application closer to the production environment
-
- Jan 02, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Having the description field only on the Model class makes things inconsistent. It's nice to have a description on other attributes as well.
-
Benjamin Bertrand authored
The generation of the QR code image is quite slow and makes the page displaying them take a long time to load when it includes more a few. The data never changes and can easily be cached (the repr() of the class is used in the cache key, so if the name or id changes, the cache will be recomputed - there is no need for a timeout).
-
Benjamin Bertrand authored
-