* Add username_type option
* Update docs
Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
* Fix errors and lint
Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
* Try linting again
* Try linting again
* Handle signup
* Fix url reverse in template
* Fix migration file
* Remove extra line in factories
* E2E tests for email username
* Fix style in users api views and serializers
* Fix style in users api views and serializers
* Add conditions for fields in UserAdminCreationForm
* Consistent Jinja tag conditions
* Fix more empty lines issues
* Tweak options order
* Test username email
* Fix code style
* Fix kwargs to reverse user details view
* Remove comment in template
* Fix error messages dict in user form
* Fix line wrapping
* Move custom manager into a separate module and add tests
---------
Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
* Add support for Webpack as frontend pipeline
* Rename CI jobs
* Fix a couple of issues with Webpack + Docker
* Don't include Boostrap CSS from CDN with Webpack
* Rename variable
* Set publicPath in prod webpack config
* Fix removal of SASS files in post-gen hooks
* Add Webpack to readme usage section
* Run Django + Webpack dev server concurrently without Docker
* Fix async runserver command with Gulp/Webpack
* Upgrade django-webpack-loader to 1.5.0
* Pass variables required by Webpack at build time
* Upgrade django-webpack-loader to 1.7.0
* Add missing condition
* Add support for Azure Storage + Webpack
* Whitespaces
* Rename ROOT_DIR -> BASE_DIR
* Rename jobs
* Bump django-webpack-loader to latest
* Document limitation of Docker + Webpack + no Whitenoise
* Update section on custom Bootstrap compilation in generated readme
* This way, scripts from external URLs are loaded asynchronously. By putting it at the top of the file, the browser parses it first, downloads it while continuing to parse the HTML, and then executes on parsing finish
* Additionally, developers will not need to use $(window).ready() or the like in their files anymore.
* Added inline_javascript tag in case anyone wants to use the bottom of the HTML page to execute some Javascript. Using defer here has no effect as inline scripts defer by default
Signed-off-by: Andrew-Chen-Wang <acwangpython@gmail.com>
## Description
Following up on @webyneter attempt in #1205, which is now getting outdated, I've tried to make Gulp task runner work with Docker. There is no documentation yet, but this seems to work locally with the custom bootstrap compilation...
- [x] Add a node image for local developement
- [x] Proxy the django image rather than localhost in Browser sync, pass header to keep hostname
- [x] Don't call the runserver command from Gulp, let docker-compose handle
- [x] Update package.json & gulpfile.js templates to reduce the number of unwanted empty lines
- [x] Use [multi-stage build](https://docs.docker.com/develop/develop-images/multistage-build/) in production to make sure the static assets are produced
- [x] Update documentation
- [x] Verify that the previous issue with static assets missing from production isn't there
## Rationale
Currently, the static build isn't working nicely with Docker, extra manual setup is required.
Fixes#1762
* Add Bootstrap to package.json in case of custom_bootstrap_compilation
* Update JS task runners and base HTML to handle custom scss compilation
* Generate a vendors.js with custom bootstrap compilation + Gulp
* Update documentation accordingly
* Add missing if/endif in gulpfile
* Update to Bootstrap v4 final