An e-commerce extension for Wagtail CMS
 
 
 
 
 
 
Go to file
thenewguy 85e4cfed61 Issue 219 calculated rates base class (#230)
* add test for get_shipping_cost with a basket rate

* add fields to allow us to tie shipping rate to a basket & address

* add test for testing specified address and basket

* add migration for new shipping rate fields

* add missing import

* fix name errors

* add shipping possibilities based on shipping address and basket id

* test basket, shipping address, & basket+shipping address rate assignment

* return correct rates for basket and address rate cases

* rename shipping rate address for clarity (origin/destination)

* send basket modified signal when basket is modified via api endpoints

* test address only rate

* remove basket rates when the basket_modified signal is sent

* show response content on error

* print response content on failure for more tests and include more 200
statuses for put

* getting different status codes back from our endpoints, check success

* clear shipping rates based on destination address when address modified

* allow get params

* return cost and rate options for more cases (test not complete)

* fix mock

* return applicable shipping options and test some combinations

* stub the rate processor interface

* add fk from rate to processor that created it

* set rate basket and destination

* shipping processor instance can apply to more than one country

* run processor get_rates if configured

* let child models handle assignment

* add some initial testing for processor

* rename _get_rates() to process_rates()

* allow disabling the success check

* test country shipping option with processor requires destination

* test that the endpoint calls get_rate on the processor

* test that multiple processors are called once

* add shipping_origin fk to site settings

* add default cache key based on origin, destination, & basket items

* test a trivial rate processor implementation is used

* test cost endpoint returns the processed rate

* pin version requirement

* fix wagtail version

* start vagrant config

* get tox to run

* install nvm for vagrant user

* add instructions to move npm deps off shared folder for speed

* compact into a shell script for ease of use

* add some more examples as temporary documentation

* tests require dev reqs

* clean this up a little

* add migrations for productrequest app to fix test runner

* raise exception on error instead of returning error response

* test exception raised when country and country code specified

* test for destination address does not exist

* test exception when country and country code are not supplied

* set request.site as it is expected

* test get_shipping_cost_kwargs with only country code

* check the basket id and the settings

* value passed for country is supposed to be PK

* test with country specified

* write test so we can test with iso as string of known value

* tes destination is respected

* test with destination and country code

* test shipping_rate_name is set as name

* move models

* rename models.py

* rename to be consistent with rates being plural

* move serializers

* move models

* ignore private vagrant subdir

* move code around to fix circular imports to allow top level imports

* move address serializer import to top level

* ws

* ws
2019-11-06 13:46:07 +01:00
.github Gitbook setup 2018-12-28 11:05:31 +01:00
docs Add docs for integrating Longclaw in existing projects (#235) 2019-10-06 11:17:24 +02:00
longclaw Issue 219 calculated rates base class (#230) 2019-11-06 13:46:07 +01:00
vagrant Issue 219 calculated rates base class (#230) 2019-11-06 13:46:07 +01:00
website Fixes #256, Fixes #248 2019-09-22 12:33:34 +02:00
.coveragerc First commit 2017-02-03 10:04:57 +00:00
.dockerignore Initial setup of docusaurus 2018-12-29 19:01:02 +01:00
.editorconfig First commit 2017-02-03 10:04:57 +00:00
.gitignore Add to basket template tag & docs (#82) 2017-08-25 08:33:47 +01:00
.landscape.yaml Update landscape to only be py 2 2018-12-31 14:04:32 +01:00
.travis.yml Fixes #256, Fixes #248 2019-09-22 12:33:34 +02:00
AUTHORS.rst Add to basket template tag & docs (#82) 2017-08-25 08:33:47 +01:00
CHANGELOG.rst Updates for gitbook docs 2018-12-28 15:56:28 +01:00
CONTRIBUTING.rst Longclaw 1.0 (#205) 2018-12-26 12:58:05 +01:00
Dockerfile Initial setup of docusaurus 2018-12-29 19:01:02 +01:00
Dockerfile.dev Add dockerfile for development 2019-10-06 16:41:15 +02:00
LICENSE Longclaw 1.0 (#205) 2018-12-26 12:58:05 +01:00
MANIFEST.in Force inclusion of JSON files 2019-03-28 21:11:54 +01:00
Makefile First commit 2017-02-03 10:04:57 +00:00
README.md README update 2019-02-03 10:45:52 +01:00
codecov.yml Checkout view (#68) 2017-05-24 11:12:36 +01:00
docker-compose.yml Initial setup of docusaurus 2018-12-29 19:01:02 +01:00
manage.py Longclaw 1.0 (#205) 2018-12-26 12:58:05 +01:00
requirements.txt Fix deps 2019-10-06 16:41:03 +02:00
requirements_dev.txt Update setuptools from 41.2.0 to 41.4.0 (#264) 2019-10-07 19:54:53 +02:00
runtests.py Longclaw 1.0 (#205) 2018-12-26 12:58:05 +01:00
setup.cfg Bump version: 1.0.1 → 1.0.2 2019-03-28 21:12:42 +01:00
setup.py Issue 219 calculated rates base class (#230) 2019-11-06 13:46:07 +01:00
tox.ini Fixes #256, Fixes #248 2019-09-22 12:33:34 +02:00

README.md

Longclaw

Pypi Version Codecov Status Build Status Code Health

An e-commerce extension for Wagtail CMS

Checkout the documentation

Image of the dashboard

Quickstart

Install Longclaw:

  $ pip install longclaw

Setup a Longclaw project

  $ longclaw start my_project

Features

  • Tightly integrated with Wagtail. Create products, manage orders, configure shipping and view statistics all from the Wagtail admin.
  • Multiple payment backends. Longclaw currently supports Stripe, Braintree and PayPal (v.zero) payments.
  • Comprehensive REST API & javascript client easily loaded via a template tag
  • Create your catalogue as Wagtail pages, with complete control over your product fields
  • Easy setup. Just run longclaw start my_project to get going
  • Simple to use, simple to change. Write your frontend as you would any other wagtail website. No complicated overriding, forking etc in order to customise behaviour.

Screenshots

Order Detail

Support

Please raise bugs/feature requests using the github issue tracker and ask questions on stackoverflow. For further support contact ramshacklerecording@gmail.com

If you use Longclaw, please consider supporting the developer: Buy Me A Coffee