{"id":13557580,"url":"https://github.com/peopledoc/django-formidable","last_synced_at":"2025-08-17T08:31:38.136Z","repository":{"id":44884523,"uuid":"44758575","full_name":"peopledoc/django-formidable","owner":"peopledoc","description":"On the way to glory! again!","archived":false,"fork":false,"pushed_at":"2024-02-23T17:11:51.000Z","size":19841,"stargazers_count":20,"open_issues_count":17,"forks_count":4,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-05-20T16:53:29.702Z","etag":null,"topics":["api","approved-public","django","dynamic-forms","form-builder","forms","ghec-mig-migrated"],"latest_commit_sha":null,"homepage":"http://django-formidable.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peopledoc.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-22T16:31:51.000Z","updated_at":"2023-09-27T19:09:54.000Z","dependencies_parsed_at":"2024-01-14T14:56:03.007Z","dependency_job_id":"d784470a-3bbe-45c6-8873-f6944c9da9e7","html_url":"https://github.com/peopledoc/django-formidable","commit_stats":{"total_commits":944,"total_committers":20,"mean_commits":47.2,"dds":0.5667372881355932,"last_synced_commit":"625e75082e4df8956d4d6b2afbb16b713bae39da"},"previous_names":[],"tags_count":68,"template":false,"template_full_name":null,"purl":"pkg:github/peopledoc/django-formidable","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peopledoc%2Fdjango-formidable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peopledoc%2Fdjango-formidable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peopledoc%2Fdjango-formidable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peopledoc%2Fdjango-formidable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peopledoc","download_url":"https://codeload.github.com/peopledoc/django-formidable/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peopledoc%2Fdjango-formidable/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270822976,"owners_count":24652026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","approved-public","django","dynamic-forms","form-builder","forms","ghec-mig-migrated"],"created_at":"2024-08-01T12:04:25.949Z","updated_at":"2025-08-17T08:31:37.316Z","avatar_url":"https://github.com/peopledoc.png","language":"Python","funding_links":[],"categories":["Python","django"],"sub_categories":[],"readme":"=================\ndjango-formidable\n=================\n\n.. image:: docs/source/_static/formidable-logo.png\n\n.. image:: https://circleci.com/gh/peopledoc/django-formidable.svg?style=svg\u0026circle-token=6f273f564e1e44f702aef7c1d00baff74609c791\n    :target: https://circleci.com/gh/peopledoc/django-formidable\n\ndjango-formidable is a full django application which allows you to create,\nedit, delete and use forms.\n\nWarnings\n========\n\n* Python Compatibility : 3.6, 3.7, 3.8\n* Django compatibility : Django 2.2.\n* Django REST Framework : Compatible from the version 3.9.x to 3.11.x\n\nSee the `Deprecation timeline \u003chttp://django-formidable.readthedocs.io/en/latest/deprecations.html\u003e`_ document for more information on deprecated versions.\n\nLicense\n=======\n\nMIT License\n\nDocumentation\n=============\n\nLatest version of the documentation: http://django-formidable.readthedocs.io/en/latest/\n\nIf you want to build the documentation locally, you can try to run one of the following:\n\n.. code:: sh\n\n    $ make docs\n    $ tox -e docs\n\n.. note::\n\n    A recent version of `tox` must be available on your system.\n\nYou can also browse the documentation locally, using the following, for example:\n\n.. code:: sh\n\n    $ make docs serve-docs\n\nAbout the model graph\n---------------------\n\nOn the \"intro\" page of the documentation, you can see a graph of the different Django models defined in the application.\n\nTo generate this graph, you'll need to have `graphviz installed \u003chttps://graphviz.org/download/\u003e`_ on your system.\n\nWhen you're ready, you may initiate this generation using:\n\n.. code:: sh\n\n    $ tox -e django_graph\n\nQuick-Start\n===========\n\nInstall\n-------\n\n.. code:: sh\n\n    $ pip install django-formidable\n\nConfigure\n---------\n\nDefine Roles\n~~~~~~~~~~~~\n\ndjango-formidable allows access to a single form by different roles.\nThe same form can thus be rendered in different ways. If you don't need\nto handle multiple roles you must still define at least one default role.\n\nDefine a method which returns a list of formidable.accesses.AccessObject:\n\n.. code-block:: python\n\n    def get_roles(self):\n        return [\n            AccessObject(id='padawan', label='Padawan'),\n            AccessObject(id='jedi', label='Jedi')\n        ]\n\nFill the settings key:\n\n.. code-block:: python\n\n    FORMIDABLE_ACCESS_RIGHTS_LOADER = 'yourproject.access_rights.get_roles'\n\nGet context\n~~~~~~~~~~~\n\nWhile accessing a form for a specific role, you need to provide a way in\nwhich to get the correct context to use.\n\n``request`` and ``kwargs`` are fetched from the view (self.request,\nself.kwargs)\n\n.. code-block:: python\n\n    def get_context(request, kwargs):\n        return request.user.user_type\n\nNext fill the setting key ``FORMIDABLE_CONTEXT_LOADER``\n\n.. code-block:: python\n\n    FORMIDABLE_CONTEXT_LOADER = 'yourprojects.access_rights.get_context'\n\nDefine URLs\n-----------\n\nURLs are defined in ``formidable.urls``. You can load them with the\nfollowing line:\n\n.. code-block:: python\n\n    url(r'^api/', include('formidable.urls', namespace='formidable'))\n\n\nBy default, the views are not accessible, the permissions loaded are fully\nrestrictive. To allow any access to the view fill your settings with\n\n.. code-block:: python\n\n    FORMIDABLE_DEFAULT_PERMISSION=['rest_framework.permissions.AllowAll']\n\n\nTo handle special permissions, please refer to the online documentation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeopledoc%2Fdjango-formidable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeopledoc%2Fdjango-formidable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeopledoc%2Fdjango-formidable/lists"}