Skip to main content

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

Project details


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.9.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

incuna_surveys-0.9.0-py2.py3-none-any.whl (29.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file incuna-surveys-0.9.0.tar.gz.

File metadata

File hashes

Hashes for incuna-surveys-0.9.0.tar.gz
Algorithm Hash digest
SHA256 7e4de8d9fa72c8c275ff403546659682b69f0e0a179ba75a8ebfc10a12cb04a8
MD5 5d56aa5607d3161eb14367663f9819df
BLAKE2b-256 518e4d0bc4001726ec833e5c5d729a8270b77f888a60cbf89f65058e137b2c56

See more details on using hashes here.

File details

Details for the file incuna_surveys-0.9.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for incuna_surveys-0.9.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b293e3f5d16ce1ba93e8c0f65ecb3774c38bc7d1445ff0f7af0c9c9b6d4a42d0
MD5 3525308869228fa76249882c720bc091
BLAKE2b-256 04d563656c86016507c0e6929a41f06bdff9c57fdd72105403e0c909b071eb6f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page