Allows the creation of custom questionnaires and surveys via the Django admin.
Project description
# incuna-surveys
Allows the creation of custom questionnaires and surveys via the admin.
# Usage
## Frontend
To set the `apiRoot` use `ProjectConfigProvider.setApiRoot()`
## Backend
### Admin
Create an `admin.py` with the following content:
```python
from django.contrib import admin
from surveys.base_admin import (
SurveyAdmin,
SurveyFieldAdmin,
SurveyFieldOrderingAdmin,
SurveyFieldsetAdmin,
SurveyFieldsetOrderingAdmin,
UserResponseAdmin,
)
from surveys.models import (
Survey,
SurveyField,
SurveyFieldOrdering,
SurveyFieldset,
SurveyFieldsetOrdering,
UserResponse,
)
admin.site.register(models.SurveyField, SurveyFieldAdmin)
admin.site.register(models.SurveyFieldset, SurveyFieldsetAdmin)
admin.site.register(models.Survey, SurveyAdmin)
admin.site.register(models.SurveyFieldOrdering, SurveyFieldOrderingAdmin)
admin.site.register(models.SurveyFieldsetOrdering, SurveyFieldsetOrderingAdmin)
admin.site.register(models.UserResponse, UserResponseAdmin)
```
Please follow the instructions for adding languages to the projects using the parler documentation
parler: https://github.com/django-parler/django-parler
# Development
## Frontend
All frontend is located under `web/`:
* `npm install` to install requirements
* `bower install` to install dependencies
* `grunt test` to test if everything is working properly
* `grunt` will start a dev server running under `localhost:9000`.
This project uses `babel` and `browserify`. Source files are located in `web/app/scripts/src`. Compiled files are put into `web/dist`, which is symlinked to `web/app/scripts/js-build` for easy testing in the browser.
### Tests
The are two `grunt karma` targets:
* `grunt karma:dev` once run will continue to watch the compiled `.js` files directory and the test files.
* `grunt karma:ci` target only runs once. This target is also used in Travis
## Releasing a new version
1. Commit your changes.
1. Follow the guidelines at http://semver.org/ to determine your new version number.
1. Update `CHANGELOG.md` with your new version number and a description of changes.
1. Update the `version` property in `package.json`
1. Update the `version` property in `setup.py`
1. Commit those changes with the commit message "Bump to [version number]". [version number] should be in the format x.y.z.
1. `git tag [version number]`
1. `git push`
1. `git push --tags` - must be done separately.
1. Run `make release` to publish the release to pypi
Allows the creation of custom questionnaires and surveys via the admin.
# Usage
## Frontend
To set the `apiRoot` use `ProjectConfigProvider.setApiRoot()`
## Backend
### Admin
Create an `admin.py` with the following content:
```python
from django.contrib import admin
from surveys.base_admin import (
SurveyAdmin,
SurveyFieldAdmin,
SurveyFieldOrderingAdmin,
SurveyFieldsetAdmin,
SurveyFieldsetOrderingAdmin,
UserResponseAdmin,
)
from surveys.models import (
Survey,
SurveyField,
SurveyFieldOrdering,
SurveyFieldset,
SurveyFieldsetOrdering,
UserResponse,
)
admin.site.register(models.SurveyField, SurveyFieldAdmin)
admin.site.register(models.SurveyFieldset, SurveyFieldsetAdmin)
admin.site.register(models.Survey, SurveyAdmin)
admin.site.register(models.SurveyFieldOrdering, SurveyFieldOrderingAdmin)
admin.site.register(models.SurveyFieldsetOrdering, SurveyFieldsetOrderingAdmin)
admin.site.register(models.UserResponse, UserResponseAdmin)
```
Please follow the instructions for adding languages to the projects using the parler documentation
parler: https://github.com/django-parler/django-parler
# Development
## Frontend
All frontend is located under `web/`:
* `npm install` to install requirements
* `bower install` to install dependencies
* `grunt test` to test if everything is working properly
* `grunt` will start a dev server running under `localhost:9000`.
This project uses `babel` and `browserify`. Source files are located in `web/app/scripts/src`. Compiled files are put into `web/dist`, which is symlinked to `web/app/scripts/js-build` for easy testing in the browser.
### Tests
The are two `grunt karma` targets:
* `grunt karma:dev` once run will continue to watch the compiled `.js` files directory and the test files.
* `grunt karma:ci` target only runs once. This target is also used in Travis
## Releasing a new version
1. Commit your changes.
1. Follow the guidelines at http://semver.org/ to determine your new version number.
1. Update `CHANGELOG.md` with your new version number and a description of changes.
1. Update the `version` property in `package.json`
1. Update the `version` property in `setup.py`
1. Commit those changes with the commit message "Bump to [version number]". [version number] should be in the format x.y.z.
1. `git tag [version number]`
1. `git push`
1. `git push --tags` - must be done separately.
1. Run `make release` to publish the release to pypi
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
incuna-surveys-0.15.2.tar.gz
(18.4 kB
view details)
Built Distribution
File details
Details for the file incuna-surveys-0.15.2.tar.gz
.
File metadata
- Download URL: incuna-surveys-0.15.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2de06fdc7ab1c214178043ddc1eb9485ceca64b21c5089c93c70242d0fe6e7a4 |
|
MD5 | 2cf968e11f05c5278ad2572dfaaa62cc |
|
BLAKE2b-256 | e26ec0fd8ba507caa730a784908becbc6e0c2b9e461be565a511bfcfaa8c0fad |
File details
Details for the file incuna_surveys-0.15.2-py2.py3-none-any.whl
.
File metadata
- Download URL: incuna_surveys-0.15.2-py2.py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17f1585c6fe7c2a1afa30cd00406ec11a330205e73710f7addef2ddc85418563 |
|
MD5 | fc3edc44586bef41f1e596a6a6d23627 |
|
BLAKE2b-256 | ab759a92b589dc39162599b9cd524237086cbaf0eca2d616ba6ffb8266633a5e |