Skip to main content

No project description provided

Project description

SCF_FSM_PACKAGE

A resuable django application that can handle transition and workflow's in your project .

Authors

Installation

Install scf_fsm_package with pip

pip install finflo
  1. In your django application , browse to installed_apps section in settings.py and add finflo
  2. make sure you have installed DjangoRestFramework
INSTALLED_APPS = [
    'finflo',
    'rest_framework'
]

if you want party you can customize by adding this finflo section in your settings.py

  1. from_party and to_party is required to mention the flow is needed to sent from one party to another party
  2. The MODEL is optional field the user can specify their transition_model in their application

NOTE : The FINFLO section is required

FINFLO = {
    'FROM_PARTY' : 'django_app.model_name', # example

    'FROM_PARTY' : 'accounts.party',
    'TO_PARTY' : 'accounts.party'

    'WORK_MODEL' : ['django_app.model_name' , 'django_app.model_name'] # example
    'WORK_MODEL' : ['MyApp.Programs' , 'MyApp.Invoices']
}

or else simple mention None ,

FINFLO = {
    'FROM_PARTY' : None,
    'TO_PARTY' : None,
    'WORK_MODEL' : None
}

now navigate to the middleware section and add the finflo middleware

MIDDLEWARE = [
    'finflo.middleware.TransitionUserMiddleware',
]

Api urls

In your application's urls.py , you can include finflo's api urls for browsable api's

** make sure that you have installed DjangoRestFramework

Now add this peice of code in your urls.py

urlpatterns = [
    path('', include('finflo.urls'))
]

Usage

  1. import your transition function

    from finflo.transitions import FinFlotransition
    
  2. The transition function requires 4 positional arguments :

  3. Arguments Data_Type
    type str
    action str
    stage int
    t_id (optional) int

Example 1 : generic

from finflo.transition import FinFlotransition

myhandler = FinFlotransition()

# example function

def index():
    myhandler.transition(type = "PROGRAM",action = "submit" ,stage = 0)
    return HttpResponse({"data"})

Example 2 : customizable

  1. Browse to /api/transition/
  2. send your type , action , stage , t_id(optional) in body
    Screenshot

Tech Stack

1. Python
2. Django==3.2.5
3. Django-rest-framework

Additional API's

Api urls

Api URL's METHOD QUERY_PARAMS
localhost/model/ GET ?type=PROGRAM
localhost/action/ GET NONE
localhost/action/ POST NONE
localhost/workflowitems/ GET NONE
localhost/workevents/ GET NONE

Support

For support, email support@venzo.com .

Future

  1. postgres support
  2. next_Avail_transitions
  3. customizable workflowitems and workflowevents

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

finflo-1.8.4.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

finflo-1.8.4-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file finflo-1.8.4.tar.gz.

File metadata

  • Download URL: finflo-1.8.4.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for finflo-1.8.4.tar.gz
Algorithm Hash digest
SHA256 76c07aab3734cf0dc12e7d54252638cc3e72d26646275a44fa07ae4122e2b175
MD5 9f077c470acb3917f2fa91204e855dd2
BLAKE2b-256 784367d896f483fad3ae0c0213a28652fff65403c408efb2330ef9da8001db32

See more details on using hashes here.

File details

Details for the file finflo-1.8.4-py3-none-any.whl.

File metadata

  • Download URL: finflo-1.8.4-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for finflo-1.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 944ab640484fafbdfa3250dd97c049f8afd4fbedc9867200ac87d50a032711f2
MD5 ff3f97cbf3fb3199589312d19b9b2be3
BLAKE2b-256 7a1730bec0b2af07d33bda6dade9fa863dfda6fc57c6b5360fe843456edb8191

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