One-time project templates for tasks on Odoo
Worldwide
# Requirements: Dynamic Forms Inside Project Tasks (Odoo 18) ## Overview Add the ability to select and fill a "form template" (e.g., inspection/report forms) directly from within a Project Task (`project.task`). The user picks a form type, fills it in, adds a signature, saves it linked to that task, and prints it as PDF. ## User Flow 1. Open a task. 2. Click "Add Form." 3. Choose a form type from a predefined list. 4. Form opens with some fields auto-filled from the task. 5. User fills remaining fields (text, selections, images). 6. User signs electronically. 7. Save → record is stored linked to the task, visible in a "Forms" tab/list. 8. User can reopen or print the saved form as PDF. ## Auto-Filled Fields (from Task) | Form Field | Source | |---|---| | Task title/number | `task.name` | | Project name | `task.project_id.name` | | Location/title | task location field (or custom field) | | Date | today (default) | | Responsible/engineer | `task.user_ids` or current user | | Customer | `task.partner_id` | Use `related` fields where the value should stay live, or `default` where it should freeze at creation time. ## Suggested Technical Structure - **Template model** (`task.form.template`): defines available form types. - **Filled-entry model** (`task.form.entry`): fields include `task_id` (M2O → project.task), `form_type`/`template_id`, form-specific data, `signature` (binary), and `state` (draft/signed/final). - **Task integration**: add `form_entry_ids` (One2many) on `project.task`, plus a new "Forms" tab on the Task form view. - **Selector**: button/dropdown in the Forms tab to pick a type and open the entry form. - **Signature**: use Odoo's built-in signature widget, or a custom OWL widget if more control is needed. - **Printing**: a QWeb report per form type, matching the original form's layout (RTL/Arabic support if required, consistent with existing SEC forms). ### Important Architecture Note Due to Odoo 18 view-validation issues, create any new views and access rights for these forms via `post_init_hook` rather than manifest `data` files, to avoid XML validation errors on install — same approach used successfully in the araptech module. ## Functional Requirements 1. "Forms" tab on the Task form view. 2. Button/dropdown to select a form type from predefined templates. 3. Auto-fill task-related fields per the table above. 4. Manual entry for remaining fields, per form type. 5. Mandatory e-signature before final save (or per workflow state). 6. Save as a record linked to the task (visible in a list within the tab). 7. Reopen/edit saved forms while not yet finalized. 8. PDF print button matching the original form's layout. 9. (Optional) Allow multiple forms (same or different types) per task. 10. (Optional) Role-based permissions for create/edit/sign (e.g., engineer vs. admin). ## Open Questions Before Development - Are the only forms needed the existing SEC forms, or will new types be added later? (Determines whether we need a generic dynamic-template system or fixed models per form.) - Can a form be edited after signing, or does it become read-only? - Is more than one entry of the same form type allowed per task? - Does printing need RTL/Arabic support (as with prior SEC forms)? ## Acceptance Criteria - [ ] "Forms" tab appears on the task with a type-selection control. - [ ] Selecting a form type auto-fills task name/project/location correctly, with no manual error risk. - [ ] Form cannot be saved without a signature (per decision above). - [ ] Saved forms are only accessible from within their parent task. - [ ] Print button generates a PDF matching the original layout, including signature. - [ ] No XML validation errors on module install/update (via post_init_hook approach).
- Less than 30 hrs/weekHourly
- < 1 monthDuration
- Entry levelExperience Level
$13.00
-
$30.00
Hourly- Remote Job
- One-time projectProject Type
Skills and Expertise
Activity on this job
- Proposals:20 to 50
- Last viewed by client:5 hours ago
- Interviewing:3
- Invites sent:4
- Unanswered invites:1
About the client
- Saudi Arabia8:22 PM
Explore similar jobs on Upwork
How it works
Create your free profileHighlight your skills and experience, show your portfolio, and set your ideal pay rate.
Work the way you wantApply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
Get paid securelyFrom contract to payment, we help you work safely and get paid securely.
About Upwork
- 4.9/5(Average rating of clients by professionals)
- G2 2021#1 freelance platform
- 49,000+Signed contract every week
- $2.3BFreelancers earned on Upwork in 2020
Find the best freelance jobs
Growing your career is as easy as creating a free profile and finding work like this that fits your skills.
Trusted by