Django app for working with ConnectWise. Defines models (tickets, members, companies, etc.) and callbacks.
Project description
django-connectwise
Django app for working with ConnectWise. Defines models (tickets, members, companies, etc.) and callbacks.
Requirements
- Python 3.5
- Django 2.0
Other versions may work; we haven't tried.
Installation
From PyPI:
pip install django-connectwise
From source:
git clone git@github.com:KerkhoffTechnologies/django-connectwise.git
cd django-connectwise
python setup.py install
Usage
-
Add to INSTALLED_APPS
INSTALLED_APPS = [ ... 'djconnectwise', ... ]
-
Add to
urls.py
:re_path( r'^callback/', # This can be whatever you want. include('djconnectwise.urls', namespace='connectwise') ),
-
Add to settings:
CONNECTWISE_SERVER_URL = 'https://connectwise.example.com' CONNECTWISE_CREDENTIALS = { 'company_id': 'your company ID', 'api_public_key': 'your API user public key', 'api_private_key': 'your API user private key', } CONNECTWISE_TICKET_PATH = 'v4_6_release/services/system_io/router/openrecord.rails' def djconnectwise_configuration(): return { 'timeout': 30.0, # Network timeout in seconds 'batch_size': 50, # Number of records to fetch in each request 'max_attempts': 3, # Number of times to make a request before failing 'callback_url': '{}?id='.format( reverse('connectwise:callback') ), 'callback_host': '{}://{}'.format( 'http' if DEBUG else 'https', 'djconnectwise-host.example.com' ), } DJCONNECTWISE_CONF_CALLABLE = djconnectwise_configuration
For ConnectWise Cloud users,
CONNECTWISE_SERVER_URL
can be just i.e.https://na.myconnectwise.net
- the library changes to theapi-region
domain automatically.The
DJCONNECTWISE_CONF_CALLABLE
function should return a dictionary with the fields shown above. It's a callable so that it can fetch settings at runtime- for example from Constance settings. -
Sync objects with this management command:
cwsync
. This will take a very long time if there are many objects to fetch. -
Register your callbacks with the management command:
callbacks_registered
-
Use standard Django model signals to see when objects change.
-
To control how user avatar thumbnails are stored, add settings from easy-thumbnails.
To de-register your callbacks, use the callbacks_deleted
management command.
Testing
Prepare your environment:
pip install --upgrade -r requirements_test.txt
Try one of:
./runtests.py
python setup.py test
make test
Contributing
-
Fork this repo
-
Make a branch
-
Make your improvements
Making migrations? Run:
./makemigrations.py
-
Run the tests (see above)
-
Make a pull request
License
MIT
Copyright
© 2017 Kerkhoff Technologies Inc.
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
Hashes for django-connectwise-0.3.170.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a873bb4eb825fc39bcb840e1947401d032acab1c0f6e75d0f82936d20f23a509 |
|
MD5 | 8c85b226ff1452a10ca2148a780b3bec |
|
BLAKE2b-256 | 33e052543a7052aaba3aaeae9f93096cb611c43d517f6ee3933df8690a149ae5 |