django-forms-workflows 0.63.0__tar.gz → 0.63.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/CHANGELOG.md +20 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/PKG-INFO +1 -1
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/forms.py +4 -4
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/css/forms.css +16 -15
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/tasks.py +5 -7
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/pyproject.toml +1 -1
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/LICENSE +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/README.md +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/admin.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/api_urls.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/api_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/apps.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/callback_registry.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/conditions.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/context_processors.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/data_sources/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/data_sources/base.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/data_sources/database_source.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/data_sources/ldap_source.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/data_sources/user_source.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/diff_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/email_backends/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/email_backends/gmail_api.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/form_builder_urls.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/form_builder_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/api_handler.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/base.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/database_handler.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/email_handler.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/executor.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/file_handler.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/handlers/ldap_handler.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/history.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/ldap_backend.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/create_default_templates.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/pull_forms.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/push_forms.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/seed_farm_demo.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/seed_pcn_form.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/seed_prefill_sources.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/sync_ldap_profiles.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/sync_ldap_users.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/management/commands/test_db_connection.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0001_initial.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0002_prefillsource_alter_formfield_prefill_source_and_more.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0003_postsubmissionaction.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0004_formtemplate.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0005_advanced_conditional_logic.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0006_workflowdefinition_visual_workflow_data_and_more.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0007_add_userprofile_ldap_enhancements.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0008_add_file_workflow_models.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0009_add_formfield_readonly.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0010_add_prefillsource_template_fields.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0011_postsubmissionaction_email_body_template_and_more.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0012_add_approval_step_fields.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0013_add_database_query_key.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0014_add_form_category.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0015_add_workflowstage_staged_approvals.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0016_add_pdf_generation.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0017_add_notification_batching.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0018_add_form_category_parent.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0019_add_ldap_group_profile.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0020_add_bulk_export_field.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0021_alter_pendingnotification_scheduled_for_and_more.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0022_add_bulk_pdf_export.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0023_add_performance_indexes.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0024_add_allow_resubmit.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0025_workflowstage_approve_label.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0026_alter_formfield_width.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0027_formsubmission_form_data_gin.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0028_workflowstagegroupconfig.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0029_formfield_workflow_stage_fk_drop_groupconfig.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0030_formfield_phone_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0031_sub_workflows.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0032_approved_pending_detached_sub_workflow.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0033_add_reject_parent_to_subworkflowdefinition.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0034_add_notificationlog.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0035_migrate_prefill_source_strings.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0036_add_workflowstage_auto_created.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0037_migrate_flat_workflows_to_staged.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0038_remove_legacy_prefill_source_and_approval_step.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0039_update_help_text.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0040_migrate_deprecated_features.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0041_remove_deprecated_fields.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0042_add_sub_workflow_section_label.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0043_fix_form_data_decimal_encoding.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0044_remove_subworkflowinstance_label.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0045_stageapprovalgroup_workflow_name_label.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0046_workflow_definition_one_to_many.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0047_add_hide_approval_history.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0048_workflowdefinition_trigger_conditions_and_more.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0049_formfield_multifile_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0050_workflowdefinition_collapse_parallel_stages.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0051_formdefinition_is_listed.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0052_dynamic_assignee_and_form_field_notifications.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0053_stageformfieldnotification_static_emails.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0054_rename_approved_pending_to_pending_approval.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0055_add_send_back.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0056_calculated_formula_spreadsheet.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0057_add_currency_field_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0058_rename_assignee_email_field_add_lookup_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0059_add_multiselect_list_field_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0060_alter_workflowstage_assignee_lookup_type_helptext.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0061_add_country_us_state_field_types.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0062_add_batch_import_to_formdefinition.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0063_formdefinition_api_enabled_apitoken.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0064_add_reviewer_groups.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0065_workflownotification.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0066_add_notify_submitter_to_workflownotification.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0067_migrate_legacy_notify_flags.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0068_drop_legacy_notify_fields.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0069_add_signature_field_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0070_workflowstage_allow_edit_form_data.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0071_alter_pendingnotification_notification_type.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0072_add_change_history.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0073_add_stage_notify_assignee_on_final_decision.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0074_add_notification_rule.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0075_migrate_to_notification_rules.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0076_update_notification_event_choices.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0077_drop_legacy_notification_models.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0078_allow_anonymous_submissions.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0079_webhookendpoint_webhookdeliverylog.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0080_add_rating_matrix_address_slider_fields_and_form_controls.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0081_add_success_page_fields.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0082_add_document_template_model.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0083_workflowdefinition_start_trigger.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0084_add_shared_option_list.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0085_add_payment_system.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0086_add_embed_enabled.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0087_notificationrule_use_triggering_stage.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0088_notificationrule_body_template_and_events.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/0089_workflowstage_hide_comment_field.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/migrations/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/models.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/payments/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/payments/base.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/payments/registry.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/payments/stripe_provider.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/payments/views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/reporting_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/signals.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sso_backends.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sso_urls.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sso_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/api/swagger-ui-bundle.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/api/swagger-ui.css +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/dfw-embed.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/form-builder.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/form-enhancements.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/payment-stripe.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/signature-pad.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/static/django_forms_workflows/js/workflow-builder.js +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sync_api.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sync_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/_sync_diff.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/diff_forms.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/form_builder.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/formdef_change_form.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/formdefinition/change_list.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/sync_import.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/sync_pull.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/sync_push.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/admin/django_forms_workflows/workflow_builder.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/_category_node.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/analytics_dashboard.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/api/docs.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/approval_inbox.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/approve.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/base.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/batch_import_result.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/completed_approvals.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/discard_draft_confirm.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/embed_base.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/embed_success.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/form_categories.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/form_embed.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/form_list.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/form_submit.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/my_submissions.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/payment_collect.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/payment_error.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/public_submission_confirmation.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/rate_limited.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/reassign_task.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/resubmit_confirm.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/sso/login.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/sub_workflow_detail.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/submission_bulk_pdf.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/submission_detail.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/submission_pdf.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/submission_success.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/django_forms_workflows/withdraw_confirm.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/approval_notification.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/approval_reminder.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/approval_request.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/email_styles.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/escalation_notification.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/notification_digest.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/rejection_notification.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/emails/submission_notification.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templates/registration/login.html +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templatetags/__init__.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/templatetags/forms_workflows_tags.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/urls.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/utils.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/workflow_builder_views.py +0 -0
- {django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/workflow_engine.py +0 -0
|
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.63.2] - 2026-04-02
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **notify_stage_groups skips group when assigned_to is resolved** — when an
|
|
14
|
+
approval task has an individual `assigned_to` (resolved via
|
|
15
|
+
`assignee_form_field`), the fallback stage approval groups are no longer
|
|
16
|
+
notified. Previously this skip only applied when `use_triggering_stage=True`;
|
|
17
|
+
it now applies unconditionally, preventing duplicate notifications to both
|
|
18
|
+
the resolved individual and the group.
|
|
19
|
+
|
|
20
|
+
## [0.63.1] - 2026-04-02
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- **Side-by-side field alignment** — inputs, labels, and help text now align
|
|
24
|
+
correctly when paired half/third/fourth-width fields have labels of
|
|
25
|
+
different heights (e.g. one wraps to two lines). Replaced
|
|
26
|
+
`align-items-start` with a `fields-aligned-row` marker class that uses the
|
|
27
|
+
default `align-items-stretch` behaviour, allowing `margin-top: auto` on
|
|
28
|
+
inputs to push them to a consistent vertical position.
|
|
29
|
+
|
|
10
30
|
## [0.63.0] - 2026-04-02
|
|
11
31
|
|
|
12
32
|
### Added
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/forms.py
RENAMED
|
@@ -286,7 +286,7 @@ class DynamicForm(forms.Form):
|
|
|
286
286
|
Field(next_field.field_name),
|
|
287
287
|
css_class=f"col-md-6 field-wrapper field-{next_field.field_name}",
|
|
288
288
|
),
|
|
289
|
-
css_class="
|
|
289
|
+
css_class="fields-aligned-row",
|
|
290
290
|
)
|
|
291
291
|
)
|
|
292
292
|
i += 2
|
|
@@ -321,7 +321,7 @@ class DynamicForm(forms.Form):
|
|
|
321
321
|
)
|
|
322
322
|
for f in group
|
|
323
323
|
],
|
|
324
|
-
css_class="
|
|
324
|
+
css_class="fields-aligned-row",
|
|
325
325
|
)
|
|
326
326
|
)
|
|
327
327
|
else:
|
|
@@ -1784,7 +1784,7 @@ class ApprovalStepForm(forms.Form):
|
|
|
1784
1784
|
Field(next_field.field_name),
|
|
1785
1785
|
css_class=f"col-md-6 field-wrapper field-{next_field.field_name}",
|
|
1786
1786
|
),
|
|
1787
|
-
css_class="
|
|
1787
|
+
css_class="fields-aligned-row",
|
|
1788
1788
|
)
|
|
1789
1789
|
)
|
|
1790
1790
|
i += 2
|
|
@@ -1818,7 +1818,7 @@ class ApprovalStepForm(forms.Form):
|
|
|
1818
1818
|
)
|
|
1819
1819
|
for f in group
|
|
1820
1820
|
],
|
|
1821
|
-
css_class="
|
|
1821
|
+
css_class="fields-aligned-row",
|
|
1822
1822
|
)
|
|
1823
1823
|
)
|
|
1824
1824
|
else:
|
|
@@ -3,30 +3,31 @@
|
|
|
3
3
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
4
4
|
|
|
5
5
|
/* ── Side-by-side field alignment ────────────────────────────────────────
|
|
6
|
-
When two
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
the
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.row.
|
|
6
|
+
When two or more fields sit in a .row.fields-aligned-row, columns
|
|
7
|
+
stretch to equal height (the default flex behaviour). Each .mb-3
|
|
8
|
+
wrapper becomes a flex column so the label area grows evenly and
|
|
9
|
+
the input sits at a consistent vertical position regardless of
|
|
10
|
+
label length, help-text presence, or wrapped text. */
|
|
11
|
+
|
|
12
|
+
.row.fields-aligned-row > [class*="col-"] > .mb-3,
|
|
13
|
+
.row.fields-aligned-row > .field-wrapper > .mb-3 {
|
|
13
14
|
display: flex;
|
|
14
15
|
flex-direction: column;
|
|
15
16
|
height: 100%;
|
|
16
17
|
}
|
|
17
|
-
.row.
|
|
18
|
-
.row.
|
|
18
|
+
.row.fields-aligned-row > [class*="col-"] > .mb-3 > label,
|
|
19
|
+
.row.fields-aligned-row > .field-wrapper > .mb-3 > label {
|
|
19
20
|
flex-shrink: 0;
|
|
20
21
|
}
|
|
21
|
-
.row.
|
|
22
|
-
.row.
|
|
23
|
-
.row.
|
|
24
|
-
.row.
|
|
22
|
+
.row.fields-aligned-row > [class*="col-"] > .mb-3 > .form-control,
|
|
23
|
+
.row.fields-aligned-row > [class*="col-"] > .mb-3 > .form-select,
|
|
24
|
+
.row.fields-aligned-row > .field-wrapper > .mb-3 > .form-control,
|
|
25
|
+
.row.fields-aligned-row > .field-wrapper > .mb-3 > .form-select {
|
|
25
26
|
margin-top: auto; /* push the input to the bottom of the cell */
|
|
26
27
|
}
|
|
27
28
|
/* Help text sits *after* the input and shouldn't shift it up */
|
|
28
|
-
.row.
|
|
29
|
-
.row.
|
|
29
|
+
.row.fields-aligned-row > [class*="col-"] > .mb-3 > .form-text,
|
|
30
|
+
.row.fields-aligned-row > .field-wrapper > .mb-3 > .form-text {
|
|
30
31
|
flex-shrink: 0;
|
|
31
32
|
min-height: 1.4em; /* reserve space even when empty for alignment */
|
|
32
33
|
}
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/tasks.py
RENAMED
|
@@ -1102,14 +1102,12 @@ def _collect_notification_recipients(
|
|
|
1102
1102
|
_add(email)
|
|
1103
1103
|
|
|
1104
1104
|
# 5. Stage approval groups (NotificationRule only)
|
|
1105
|
-
# When
|
|
1106
|
-
#
|
|
1107
|
-
#
|
|
1108
|
-
#
|
|
1105
|
+
# When the task already has a specific individual assigned
|
|
1106
|
+
# (assigned_to), skip the group notification — the individual was
|
|
1107
|
+
# resolved via assignee_form_field so the fallback group should not
|
|
1108
|
+
# also be notified, regardless of use_triggering_stage.
|
|
1109
1109
|
_skip_stage_groups = (
|
|
1110
|
-
getattr(
|
|
1111
|
-
and task is not None
|
|
1112
|
-
and getattr(task, "assigned_to_id", None) is not None
|
|
1110
|
+
task is not None and getattr(task, "assigned_to_id", None) is not None
|
|
1113
1111
|
)
|
|
1114
1112
|
if (
|
|
1115
1113
|
getattr(notif, "notify_stage_groups", False)
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/__init__.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/admin.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/api_urls.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/api_views.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/conditions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/diff_views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/signals.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sso_urls.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sso_views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sync_api.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/sync_views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/urls.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/utils.py
RENAMED
|
File without changes
|
{django_forms_workflows-0.63.0 → django_forms_workflows-0.63.2}/django_forms_workflows/views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|