- Feb 14, 2018
-
-
Benjamin Bertrand authored
Add a last modified query parameter to static resource. This will force the browser to re-load resources (css, js...) after a new deploy.
-
Benjamin Bertrand authored
-
- Feb 13, 2018
-
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
Packages required only to generate the documentation. They shouldn't really be in the final docker image but they are not very big and it makes it much easier to generate the doc.
-
- Feb 12, 2018
-
-
Benjamin Bertrand authored
This reverts commit 4ddde36f. This broke the loading of fonts. Fonts directory should be excluded.
-
Benjamin Bertrand authored
The browser caches the static files (js, css...). Flask-CacheBust adds a hash to the URL of each static file to force clients to redownload the files when changed.
-
Benjamin Bertrand authored
Note that the Ansible role shall use the ":master" tag for the image
-
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
-
- Feb 09, 2018
-
-
Benjamin Bertrand authored
Fixes INFRA-197
-
Benjamin Bertrand authored
-
Benjamin Bertrand authored
The interface name shall start with the hostname of the host it is associated to. Note that this is only enforced via the UI (from which most users will interact), not from the API. Fixes INFRA-195
-
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
-
Benjamin Bertrand authored
We don't want to submit the form when scanning a code bar or ICS id. In keyboard mode, the scanner sends a CR as last character.
-
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
-