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

Uploaded Source

Built Distribution

finflo-1.7.2-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for finflo-1.7.2.tar.gz
Algorithm Hash digest
SHA256 9916695f27a5973570e9caf88ab87a5d0875e0ecc2591ad3e17daf88a2bdfa7b
MD5 0cef7b62f33c5af1e6e58d424bddd466
BLAKE2b-256 7e152d5ab77b9c04df23d73b73f4bfa54b57090d2b97fe7f2a4b50d7063f93cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finflo-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 20.1 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.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5bcd65dd0638edd9a96d9a43459f29cfa6fcba5b66b2d85803a0246f3217ca7a
MD5 b65763aa35e165930a9c4140995eca6e
BLAKE2b-256 a2bcacb70e096f525e4b2dd6c67642d27795a35c288c9b63a4d4a21a93f9e72a

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