Ana içeriğe atla
Ürün ayrıntıları İngilizce olarak görüntülenir. Çeviriler yakında gelecek.
File Upload in Survey — A build-to-order Odoo module that lets respondents attach and upload files directly inside survey for — 1/1Örnek önizleme

A build-to-order Odoo module that lets respondents attach and upload files directly inside survey forms

— with server-side validation, storage governance, and full backend visibility.

ECOSIRE scopes, builds, installs, and supports it for your instance.

File Upload in Survey nedir?

A build-to-order Odoo module that lets respondents attach and upload files directly inside survey forms — with server-side validation, storage governance, and full backend visibility. ECOSIRE scopes, builds, installs, and supports it for your instance. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Temel Özellikler

New `File Upload` question type registered on `survey.question`, selectable in the question-type dropdown alongside the native text/choice/matrix types
OWL-based upload widget rendered inside the public QWeb survey template (`survey.survey_page` inheritance) for inline attachment on website surveys
Uploaded files stored as first-class `ir.attachment` records linked to the originating `survey.user_input.line`, not as loose base64 blobs
Per-question configuration: allowed file extensions allowlist, maximum file size (MB), single-vs-multiple-file mode, and required/optional flag
Server-side validation in the survey submission controller — extension allowlist, per-file and aggregate size limits, and MIME-type sniffing independent of the claimed extension
Client-side pre-validation for instant respondent feedback (rejected type/size before the network round-trip)
Attachments surfaced on the backend survey participation and result views so reviewers open files without leaving Odoo
`ir.model.access.csv` entries plus record rules restricting who can read respondent attachments, with survey-officer vs survey-user separation
Optional `@api.depends` compute fields (file count, total upload size) on the user-input line for at-a-glance review and reporting
Automated-action / server-action hooks so a file-bearing submission can trigger downstream records (e.g. create `hr.applicant`, `helpdesk.ticket`, or `documents.document` and carry the attachment)
JSON-RPC / XML-RPC readable — external systems can fetch uploaded attachments programmatically via the standard API
Respects the instance filestore and attachment storage backend, including S3-compatible object storage when attachment offloading is already configured
Graceful handling of survey scoring and pagination so upload questions coexist with scored/multi-page surveys without breaking navigation
Clean `__manifest__.py` with pinned dependency on the `survey` module and version-tagged builds for Odoo 17.0, 18.0, and 19.0

Siparişe özel, sizin için baştan sona

Kendiniz kurmanıza gerek yok — ECOSIRE tarafından geliştirilen, kurulan ve desteklenen çalışır bir uygulama.

  1. 1

    Sipariş verirsiniz

    Tek seferlik geliştirme fiyatıyla başlayın. Kapsamı başlangıçta sizinle birlikte belirleriz.

  2. 2

    Geliştirir ve kurarız

    ECOSIRE, Odoo ortamınızda geliştirir, yapılandırır ve kurar.

  3. 3

    Yayına alma + destek

    Yaklaşık bir iş haftasında yayına alırsınız; canlıya geçiş sonrası iki hafta destek dahildir. Teslim ettiğimiz koddaki hatalar ücretsiz düzeltilir.

Teknik Özellikler

Odoo Uyumluluğu
Odoo 17, Odoo 18, Odoo 19
Sürümler
Enterprise ve Community
Lisans
Lisansın doğrulanması gerekiyor
Python Gereksinimi
Python 3.10+
Veritabanı
PostgreSQL 12+

Bu Ürün Hakkında

Odoo's native Survey app captures text, choices, ratings, and dates — but the moment a respondent needs to submit a document, the workflow breaks. Recruitment candidates cannot attach a CV, event registrants cannot upload proof of payment, quality audits cannot capture a photo of a defect, and vendor onboarding forms cannot collect a certificate. Teams end up emailing files separately, pasting shared-drive links into a text question, or maintaining a parallel form outside Odoo entirely. That fragmentation loses the connection between the answer and the file, and it leaves no clean record on the survey.user_input line where the rest of the response lives.

This is where Odoo core runs out of road: the survey.question model has no question type for binary attachments, and survey.user_input.line stores answers as char, text, numeric, date, or many2one references only — there is nothing to hold a file. We build a new question type — "File Upload" — that plugs into the existing survey engine rather than bolting a separate system alongside it. On the model side we extend survey.question with configuration fields (allowed extensions, maximum size in MB, single-vs-multiple files, required flag) and add an ir.attachment-backed store so each uploaded file is a first-class Odoo attachment linked to the corresponding survey.user_input.line. The public QWeb survey template gets an OWL-rendered upload widget so respondents on the website survey can attach files inline, and validation runs on both sides: client-side for immediate feedback and server-side in the submission controller (extension allowlist, per-file and total size caps, MIME sniffing) so nothing malicious or oversized ever reaches the filestore. Access is governed through ir.model.access.csv plus record rules so only authorized users can open a respondent's attachments from the backend, and the files surface directly on the survey result and participation views.

Because everything is anchored to the standard survey data model, the rest of Odoo keeps working: attachments flow into reporting, automated actions can fire when a file-bearing response arrives (for example, create an hr.applicant or a helpdesk.ticket and carry the attachment across), and the JSON-RPC/XML-RPC API can read the uploaded files programmatically for downstream integrations. The build targets Odoo 17.0, 18.0, and 19.0, works on both Community and Enterprise (Survey is a core app in both), and respects your instance's existing filestore and attachment-storage configuration — including object storage if you already offload attachments to S3-compatible buckets.

This is a made-to-order build, not an existing download. After a short scoping call we confirm exactly which survey types need uploads, the file-type and size policy, retention and access rules, and any automated action that should follow a submission — then we develop, test on a staging copy of your database, and install it on your instance. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope); multi-company deployment, tighter validation/virus-scanning requirements, object-storage integration, and automated post-submission workflows (auto-creating applicants, tickets, or documents from uploads) increase the quoted scope.

Ne elde edeceksin

  • Installable module source code targeted to your exact Odoo version (17.0, 18.0, or 19.0), Community or Enterprise
  • Installation and configuration on your instance, including question-type setup and file-policy (extensions, size caps, single/multiple) tuning
  • Technical documentation — models, fields, controller validation logic, security rules, and manifest notes for your team
  • End-user guide plus a live training session for survey authors and result reviewers
  • Post-go-live support window for defect fixes and configuration adjustments
  • UAT on a staging copy of your database with a documented rollback plan before production install
  • Git repository handover with tagged release and commit history

Bu kimin için

HR / Recruitment teams

Run application or screening surveys where candidates must attach a CV, portfolio, or certification. They need the file bound to the response and, ideally, an automated action that spins up an `hr.applicant` with the attachment already in place.

Events & registration coordinators

Collect proof of payment, ID scans, or signed consent forms during event or webinar registration surveys, and need those documents retained against each registrant's submission rather than scattered across email.

Quality, audit & field-ops teams

Capture photos of defects, inspection sheets, or compliance evidence inside internal audit surveys, with size limits and access controls so sensitive files stay governed inside Odoo.

Odoo administrators & implementation partners

Own the instance and want a clean, upgrade-safe extension of the core Survey app — proper `ir.attachment` storage, `ir.model.access.csv`/record-rule security, and a git-handover repo — rather than a fragile one-off patch.

File Upload in Survey Nasıl Karşılaştırılır

KriterECOSIREÖzel YapıRakipOdoo Yerleşik
AvailabilityBuilt to order for your instance in one working week from confirmed scopeDepends entirely on in-house developer availabilityInstant download, but generic and not tailoredNot available — no file-upload question type exists
File storage modelFirst-class `ir.attachment` linked to the response line, filestore/object-storage awareVaries by developer skill; risk of loose base64 blobsUsually attachment-based but fixed to the vendor's designNo mechanism to store an uploaded file on a survey answer
Validation & securityServer-side allowlist, size caps, MIME sniffing, `ir.model.access.csv` + record rulesOnly as thorough as the person who wrote itBasic extension/size checks, security rarely auditedNot applicable
Fit to your surveysScoped to your exact survey types, policies, and workflowsFully custom but you carry all specification riskOne-size-fits-all; you adapt to itNone
Downstream automationOptional automated actions create applicants/tickets/documents from uploadsPossible but must be built and tested from scratchRarely included; integration left to youNone
Version & edition coverageBuilt and tested for 17.0/18.0/19.0, Community or EnterpriseWhatever your team targets and maintainsVersion support depends on the vendor's update cadenceCore Survey exists but without upload capability
Ongoing support & upgradesPost-go-live support window plus quoted migration re-buildsInternal team owns all maintenanceVendor support quality and longevity varyCovered by Odoo, but the feature simply isn't there
Handover & ownershipGit repo, tagged release, technical docs, user guide, trainingYou own it, if it was documentedEncrypted/obfuscated code common; limited handoverN/A

File Upload in Survey hakkında Sıkça Sorulan Sorular

Is this an existing app I can download and install right now?

No. This is a build-to-order module. ECOSIRE scopes it with you, builds it against your exact Odoo version and edition, tests it on a staging copy of your database, then installs and supports it. There is no instant download — the deliverable is a module built for your instance.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The timeline starts once we've agreed which surveys need uploads, the file-type and size policy, access rules, and any automated post-submission action. Tighter validation requirements or downstream integrations can extend that; we confirm the schedule in your fixed quote.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base scope. We hold a short scoping call, confirm exactly what you need, and then issue a fixed quote before any build begins. Drivers such as multi-company deployment, virus-scanning, object-storage integration, or automated workflows that create applicants/tickets from uploads increase the quoted scope.

Which Odoo versions and editions does it support?

We build for Odoo 17.0, 18.0, and 19.0, on both Community and Enterprise — the Survey app ships in both. We pin the `survey` dependency in `__manifest__.py` and tag a version-specific release so the module matches your instance exactly.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for defect fixes and configuration tweaks. Beyond that, we offer ongoing support and version-migration builds when you upgrade Odoo — since it's a made-to-order module, upgrades are a re-build/re-test against the new version rather than an automatic marketplace update.

How are uploaded files secured and stored?

Files are stored as standard `ir.attachment` records linked to the survey response line, so they inherit your instance's filestore or object-storage backend. Access is governed by `ir.model.access.csv` and record rules, and the submission controller enforces an extension allowlist, per-file and total size caps, and MIME sniffing server-side so oversized or disallowed files never reach the filestore.

Can an uploaded file trigger a follow-up action automatically?

Yes. Because uploads live on the standard survey data model, we can wire an automated action or server action so a file-bearing submission creates a downstream record — for example an `hr.applicant`, a `helpdesk.ticket`, or a document — and carries the attachment across. That automation is a scoping option that we quote as part of your build.

Teklif isteyin

File Upload in Survey

A build-to-order Odoo module that lets respondents attach and upload files directly inside survey forms — with server-side validation, storage governance, and full backend visibility. ECOSIRE scopes, builds, installs, and supports it for your instance.

  • New `File Upload` question type registered on `survey.question`, selectable in the question-type dropdown alongside the native text/choice/matrix types
  • OWL-based upload widget rendered inside the public QWeb survey template (`survey.survey_page` inheritance) for inline attachment on website surveys
  • Uploaded files stored as first-class `ir.attachment` records linked to the originating `survey.user_input.line`, not as loose base64 blobs
  • Per-question configuration: allowed file extensions allowlist, maximum file size (MB), single-vs-multiple-file mode, and required/optional flag

Teklif isteyin

File Upload in Survey ihtiyaçlarınızı bize anlatın; fiyatları, lisans seçeneklerini ve size özel bir teklifi genellikle bir iş günü içinde gönderelim.

Şimdi ödeme yok. Bu, ekibimize bir teklif talebi gönderir — fiyat ve sonraki adımlarla e-posta ile dönüş yapacağız.