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)
```
# 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)
```
# 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.6.1.tar.gz
(18.6 kB
view details)
Built Distribution
File details
Details for the file incuna-surveys-0.6.1.tar.gz
.
File metadata
- Download URL: incuna-surveys-0.6.1.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef2979c49e2ba877c6a9046baf4293833d2258e78380ad31f777b09d9ece3544 |
|
MD5 | d79f9bf54d61347ad52602177f6a540e |
|
BLAKE2b-256 | 95882b04327791be76741e29ed07c62ad35105d4c1bece03fbfff29eb02807ec |
File details
Details for the file incuna_surveys-0.6.1-py2.py3-none-any.whl
.
File metadata
- Download URL: incuna_surveys-0.6.1-py2.py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7bdee0bcbaefe7c6612bb25dd1694eebc6a866b7f10c0e40d56b24e034c305a |
|
MD5 | e0d5c30fbbcd5b8f7233fef6f71bef3b |
|
BLAKE2b-256 | 8afd7a79918445c949ab7779d1032510453dfa68f9c2c7718d2cb7256d234745 |