Skip ke Konten
Odoo Menu
  • Login
  • Uji coba gratis
  • Aplikasi
    Keuangan
    • Akuntansi
    • Faktur
    • Pengeluaran
    • Spreadsheet (BI)
    • Dokumen
    • Tanda Tangan
    Sales
    • CRM
    • Sales
    • POS Toko
    • POS Restoran
    • Langganan
    • Rental
    Website
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Rantai Pasokan
    • Inventaris
    • Manufaktur
    • PLM
    • Purchase
    • Maintenance
    • Kualitas
    Sumber Daya Manusia
    • Karyawan
    • Rekrutmen
    • Cuti
    • Appraisal
    • Referensi
    • Armada
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Acara
    • Otomatisasi Marketing
    • Survei
    Layanan
    • Project
    • Timesheet
    • Layanan Lapangan
    • Meja Bantuan
    • Planning
    • Appointment
    Produktivitas
    • Diskusi
    • Approval
    • IoT
    • VoIP
    • Pengetahuan
    • WhatsApp
    Aplikasi pihak ketiga Odoo Studio Platform Odoo Cloud
  • Industri-Industri
    Retail
    • Toko Buku
    • Toko Baju
    • Toko Furnitur
    • Toko Kelontong
    • Toko Hardware
    • Toko Mainan
    Makanan & Hospitality
    • Bar dan Pub
    • Restoran
    • Fast Food
    • Rumah Tamu
    • Distributor Minuman
    • Hotel
    Real Estate
    • Agensi Real Estate
    • Firma Arsitektur
    • Konstruksi
    • Estate Management
    • Perkebunan
    • Asosiasi Pemilik Properti
    Konsultansi
    • Firma Akuntansi
    • Mitra Odoo
    • Agensi Marketing
    • Firma huku
    • Talent Acquisition
    • Audit & Sertifikasi
    Manufaktur
    • Tekstil
    • Logam
    • Perabotan
    • Makanan
    • Brewery
    • Corporate Gift
    Kesehatan & Fitness
    • Sports Club
    • Toko Kacamata
    • Fitness Center
    • Wellness Practitioners
    • Farmasi
    • Salon Rambut
    Perdagangan
    • Handyman
    • IT Hardware & Support
    • Sistem-Sistem Energi Surya
    • Pembuat Sepatu
    • Cleaning Service
    • Layanan HVAC
    Lainnya
    • Organisasi Nirlaba
    • Agen Lingkungan
    • Rental Billboard
    • Fotografi
    • Penyewaan Sepeda
    • Reseller Software
    Browse semua Industri
  • Komunitas
    Belajar
    • Tutorial-tutorial
    • Dokumentasi
    • Sertifikasi
    • Pelatihan
    • Blog
    • Podcast
    Empower Education
    • Program Edukasi
    • Game Bisnis 'Scale Up!'
    • Kunjungi Odoo
    Dapatkan Softwarenya
    • Download
    • Bandingkan Edisi
    • Daftar Rilis
    Kolaborasi
    • Github
    • Forum
    • Acara
    • Terjemahan
    • Menjadi Partner
    • Layanan untuk Partner
    • Daftarkan perusahaan Akuntansi Anda.
    Dapatkan Layanan
    • Temukan Mitra
    • Temukan Akuntan
    • Temui penasihat
    • Layanan Implementasi
    • Referensi Pelanggan
    • Bantuan
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Dapatkan demo
  • Harga
  • Bantuan

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Akuntansi
  • Inventaris
  • PoS
  • Project
  • MRP
All apps
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Help

Add edit button on print preview in odoo 10 qweb report.

Langganan

Dapatkan notifikasi saat terdapat aktivitas pada post ini

Pertanyaan ini telah diberikan tanda
xmlpython2.7odoo10
2 Replies
2271 Tampilan
Avatar
jhonnel

Hi good day everyone!,


Hoping you are fine. I just want to ask on how can I add an edit button or how an odoo 10 report can be editable in print preview.


Thank you very much in advance.


Sincerely yours,

0
Avatar
Buang
Avatar
jhonnel
Penulis Jawaban Terbai

Thank you very much for your answer.

0
Avatar
Buang
Avatar
Gracious Joseph
Jawaban Terbai

In Odoo 10, adding an "Edit" button to a QWeb report's print preview requires custom development because Odoo's QWeb reports are inherently designed to generate static PDF documents for printing or exporting. However, you can implement a solution by either embedding the "Edit" functionality into the report view or redirecting users to the form view of the record from which the report is generated.

Here’s how you can achieve this:

Option 1: Add an "Edit" Button to the HTML Web Preview

Odoo’s print preview before downloading or printing a PDF is rendered as HTML. You can inject an "Edit" button that redirects users back to the edit form of the record.

Steps:

  1. Locate the QWeb Template:
    • Find the report template in the custom module or Odoo's built-in addons. Typically, it is located in the views folder of the module and defined in an XML file.
    • For example, if your report is named "sale_order.report_saleorder_document," locate this template.
  2. Add the "Edit" Button in the QWeb Report: Add an "Edit" button at the top or desired location within the QWeb template.
    <t t-call="web.html_container">
        <t t-foreach="docs" t-as="doc">
            <div>
                <!-- Edit Button -->
                <button 
                    type="button" 
                    class="btn btn-primary" 
                    onclick="window.location.href='/web#id=%d&view_type=form&model=sale.order'" t-esc="doc.id">
                    Edit
                </button>
            </div>
        </t>
    </t>
    

    Explanation:

    • The button uses JavaScript to redirect the user back to the form view of the record.
    • Replace sale.order with the model name of the record the report is generated for.
  3. Add Logic to Make Button Conditional (Optional): If you want the "Edit" button to appear only for users with specific access rights:
    <t t-if="user.has_group('base.group_user')">
        <button type="button" class="btn btn-primary" onclick="...">Edit</button>
    </t>
    
  4. Reload the Report:
    • Restart your Odoo server.
    • Open the report and confirm the "Edit" button appears as expected.

Option 2: Make the Report Directly Editable

If you want to allow inline editing of certain fields directly in the report view, you can:

  1. Use JavaScript and CSS to render editable fields.
  2. Submit the edited data to the backend when saved.

Example Implementation:

  1. Add Editable Fields in QWeb:
    <div contenteditable="true" data-field="customer_name" data-id="t-esc="doc.id">
        <t t-esc="doc.partner_id.name"/>
    </div>
    
  2. Save Changes via JavaScript: Add a button to save the changes and send them to the server:
    <button onclick="saveChanges()">Save</button>
    <script>
        function saveChanges() {
            var data = document.querySelector('[data-field="customer_name"]').innerText;
            var recordId = document.querySelector('[data-field="customer_name"]').dataset.id;
            fetch('/save/field', {
                method: 'POST',
                body: JSON.stringify({ id: recordId, field: 'partner_id', value: data }),
                headers: { 'Content-Type': 'application/json' },
            }).then(response => {
                if (response.ok) alert('Saved successfully!');
            });
        }
    </script>
    
  3. Implement Backend Logic: Create a controller in Odoo to handle the data submission.
    from odoo import http
    from odoo.http import request
    
    class ReportController(http.Controller):
        @http.route('/save/field', type='json', auth='user')
        def save_field(self, **kwargs):
            record = request.env['sale.order'].browse(kwargs.get('id'))
            if record.exists():
                record.write({kwargs.get('field'): kwargs.get('value')})
            return {'status': 'success'}
    

Option 3: Redirect Users from the Report Action

Add an "Edit" button outside the report preview (e.g., in the action menu).

Steps:

  1. Create a new server action to redirect users back to the record's form view.
  2. Use Python code to trigger this action.

Considerations

  1. Security:
    • Ensure that only authorized users can edit records.
    • Validate inputs on the server-side to prevent malicious data submissions.
  2. User Experience:
    • If you’re embedding editable fields directly in the report, ensure they are intuitive and responsive.
  3. Customization Limitation:
    • For heavily customized reports, consider building a custom widget for in-place editing.

By following these methods, you can add an "Edit" button or make the report preview editable in Odoo 10. Let me know if you need further guidance or specific implementation details!

0
Avatar
Buang
Menikmati diskusi? Jangan hanya membaca, ikuti!

Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!

Daftar
Post Terkait Replies Tampilan Aktivitas
uncaught typeerror: cannot read properties of undefined (reading 'body') in odoo 10.
xml python2.7 odoo10
Avatar
0
Feb 25
1966
Add close button on pop up form view in odoo 10.
xml python2.7 odoo10
Avatar
0
Jul 24
1798
Displaying one2many field on the other model based on a condition in odoo 10.
xml python2.7 odoo10
Avatar
0
Agu 23
2362
Getting the text value of a text field with a html widget.
xml python2.7 odoo10
Avatar
0
Mei 23
3824
Remove autosave on attachments when printing report in odoo 10.
xml python2.7 odoo10
Avatar
Avatar
Avatar
2
Okt 22
2955
Komunitas
  • Tutorial-tutorial
  • Dokumentasi
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Terjemahan
Layanan
  • Odoo.sh Hosting
  • Bantuan
  • Peningkatan
  • Custom Development
  • Pendidikan
  • Temukan Akuntan
  • Temukan Mitra
  • Menjadi Partner
Tentang Kami
  • Perusahaan kami
  • Aset Merek
  • Hubungi kami
  • Tugas
  • Acara
  • Podcast
  • Blog
  • Pelanggan
  • Hukum • Privasi
  • Keamanan
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo adalah rangkaian aplikasi bisnis open source yang mencakup semua kebutuhan perusahaan Anda: CRM, eCommerce, akuntansi, inventaris, point of sale, manajemen project, dan seterusnya.

Mudah digunakan dan terintegrasi penuh pada saat yang sama adalah value proposition unik Odoo.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now