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

This version

1.5.6

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

Uploaded Source

Built Distribution

finflo-1.5.6-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for finflo-1.5.6.tar.gz
Algorithm Hash digest
SHA256 3981d5e84ae640a37bd30d64f9a8008e2ebb4f0e770d6dc9f25138fdc296fb2d
MD5 5f26eb1afa5c523f9dc7dd11dbd4d2e5
BLAKE2b-256 371af3deebb356bf0692f57a16300bc18f59ee1150ba1e3a397758f17dcff1ed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finflo-1.5.6-py3-none-any.whl
  • Upload date:
  • Size: 16.4 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.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 286d5426436508d56633b1ff35de86152070194cb15e33e1193274949eaa6d37
MD5 89615a164335ceeca7a9c380441d2155
BLAKE2b-256 9d742837fe3481906da978f92b50f60a3109fc9295187c718e2e20fd87e38c7c

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