Commit Graph
8 Commits
Author SHA1 Message Date
Aurélien Warnon 44b55dc883 [IMP] [website_]event: add a new full page format badge report
This commit introduces a new badge report displayed on a full A4 page.

This report is meant to be printed for the attendee and contains more
detailed information that the existing "badge report", which is only meant to
be folded and used as a badge.

We use a lot of custom layout and classes to create a "ticket-feeling" to the
report and make it look good visually.

We also introduce a new field that allows easily customizing (outside of
studio) this report by adding "extra instructions" (how to use your ticket /
directions on how to get to the event / ...).

Side note: scss disclaimer

As the reporting engine does not allow complex class/rules building, we had to
implement this nice layout using very well placed background-image and
"pixel perfect" sized elements.

LINKS

ENT PR odoo/enterprise#19349
UPG PR odoo/upgrade#2599
Task-26779
2021-07-30 09:02:53 +00:00
Aurélien Warnon 1b66782dca [REF] event_*: refactor the event foldable registration badge
PURPOSE

The event foldable badge is currently not very user-friendly in terms of usage
and style.
This commit aims to re-work it visually as well as getting rid of multiple
technical flows (unnecessary fields / no studio anchors / ...).

SPECS

Preliminary cleaning : Unify both foldable badge templates into one.

The "event badges" report can be printed from 2 different sources, from the
event.event itself as a preview and from the event.registration as an actual
badge for a specific attendee.

The implementation was done using two different templates, leading to a lot of
duplicated code and potential issues when editing one template that would not
modify the other accordingly.

This commit unifies both templates into one.
When the report is printed from the event as a "preview", we simply check that
the attendee variable is missing and print placeholders instead.

Main changes : Rework the whole foldable badge template

1. Get rid of unnecessary fields

The foldable badge template used several fields on the event.event model itself
that would allow customizing the report per event.
However, there were actually no way for the user to access and edit those
fields, as they are not part of any views.

We therefore removed them (badge_front, badge_back, badge_innerleft,
badge_innerright, event_logo).

And instead offer a single new field (ticket_extra_instructions), available on
the form view of the event, that allows to easily customize the foldable badge
and adding instructions specific to this event (how to come / what to bring /
...).

2. Visual changes

The report was re-worked to make it look a bit more recent, as the previous
look was very basic and was not very attractive.

This was done using a specific scss file that allows defining rules without
bloating the template with long style attributes.

In addition, we added some pictures that help the attendee understanding how to
correctly fold the printed A4 sheet into a badge and slide it into the holder.

All the information that were previously on the report should still be there.

3. Relocate action from website_event to event

As a bonus, we moved the reporting action from website_event to event, in order
to have everything that is related to this foldable badge in the same module.

Side note: scss disclaimer

As the reporting engine does not allow complex class/rules building, we had to
implement this nice layout using very well placed background-image and
"pixel perfect" sized elements.

You will see a lot of hardcoded numbers, mainly on heights, but it can't be
helped.

LINKS

ENT PR odoo/enterprise#19349
UPG PR odoo/upgrade#2599
Task-26779
2021-07-30 09:02:52 +00:00
Xavier Morel 6835aeb0de [REM] core, *: deprecate <act_window> and <report>
Convert deprecated tags through the codebase.
2020-07-28 13:03:13 +00:00
Martin Trigaux a0cd964c55 [FIX] event: print registrations without name
Before this commit, trying to print a registration without a name
specified (not required), was failing

Fixes odoo/odoo#38564

Replace and closes odoo/odoo#38582
Courtesy of Swapnesh Shah

closes odoo/odoo#38821

X-original-commit: a21a81e98c569098d254781318b0030f30b02181
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-10-15 15:17:17 +00:00
Thibault Delavallée 0e9d397978 [IMP] event: improve report naming and use print_report_name
Purpose of this commit is to clean and uniformize report naming through
various addons. It has been chosen to name them using a formatting like
<report_name> - <object_name or suffix> .
2017-05-10 17:16:07 +02:00
Laurent Smet 3425752eac [REM] odoo/report: remove deprecated stuff
- RML Reports
- Webkit Reports (most part already removed by 13b9982c62)
- LocalService in netsvc.py
- rename attributes like rml_% to report_%
- rename ir.actions.report.xml to ir.actions.report
- allow rendering directly on an ir.actions.report by calling render method
- remove 'controller' report_type
- remove unused res.font stuff
- remove print_report method in models.py (not used)
- restore removed call to pdftotext process in test_reports
2017-05-08 09:22:56 +02:00
Ravi Patel efdb5373c3 [IMP] *: Define pdf report name according to the business case
Purpose:

When downloading a document, the name by default is not clear at all because by default, the printed report name is empty.

Specification:

Change the Printed Report Name. In most of the cases, it should be the name of the object + the number.

For the following reports :

- BOM Structure ==> BOM-product_variant_name ===>  'BOM'+'-'+(object.product_id.name)

- BOM Cost ==> BOM Cost-product_variant_name ===>  'BOM Cost'+'-'+(object.product_id.name)

- Call for Tenders ==>Tender-TE00001 ===> 'Tender'+'-'+(object.name)

- Delivery Slip ==> Delivery Slip-Customer Name-Picking Number ===> 'Delivery Slip'+'-'+(object.partner_id.name)+'-'+(object.name)

- Expenses Report ==> Expenses-Employee Name-Travel By Air  ===> 'Expenses'+'-'+(object.employee_id.name)+'-'+(object.name)

- Inventory ===> Inventory-Starting Inventory  ====> 'Inventory'+'-'+(object.name)

- Invoice (pos.order)===> Invoice-Main-0002 ===> 'Invoice'+'-'+(object.name)

- Invoices (account.invoice):
	===> Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Invoice'+'-'+(object.number)
        ===> Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Vendor Bill'+'-'+(object.number)

- Location Barcode  ===> Order Processing-Location ===> (object.name)+'-'+'Location'

- Lot Barcode ===> Lot/Serial-0000018 ===> 'Lot/Serial'+'-'+(object.name)

- Payslip  ===>  Employee Name-Payslip ===>  (object.employee_id.name)+'-'+'Payslip'

- Print Batch Deposit ===> Bank- DEPOSIT/2016/0001 ===> (object.journal_id.name)+'-'+(object.name)

- Print Check (Top)  ==> check_Partner name_Draft Payment_top   ===>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_top'

- Print Check (middle)  ==> check_Partner name_Draft Payment_middle ===>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_middle'

- Print Check (Bottom)  ==>  check_Partner name_Draft Payment_bottom  ====>  'check_'+(object.partner_id.name)+'_'+(object.name)+'_bottom'

- Production Order ==>  Production Order-MO-00006  ====>  'Production Order'+'-'+(object.name)

- Quotation / Order (sale.order):
	 ==> Order-S00001  ===> (object.state not in ('draft', 'sent'))==> 'Order'+'-'+(object.name)
         ==> Quotation-S00002   ====>  (object.state in ('draft','sent'))===> 'Quotation'+'-'+(object.name)

- Quotation / Order (mrp.repair):
	 ==> Repair Order-RMA00005         ===>  (object.state != 'draft') ===> 'Repair Order'+'-'+(object.name)
         ==> Repair Ouotation-RMA00005    ===>  (object.state == 'draft') ===> 'Repair Quotation'+'-'+(object.name)

- Registration Badge ===> Registration Event-Attendee Name       ====>  'Registration Event'+'-'+(object.name)

- Web Quotation(sale.order):
	==> Order-S00001  ===>  (object.state not in ('draft', 'sent')) ===> 'Order'+'-'+(object.name)
        ==> Quotation-S00002   ====>  (object.state in ('draft','sent')) ===> 'Quotation'+'-'+(object.name)

- Payslip Details: ===> Payslip Name ===>(object.name)

- Purchase Order:
	===> Purchase Order-PO0012 ===>(object.state != 'draft') ===> 'Purchase Order'+'-'+(object.name)
        ===> Request for Quotation-PO0012 ===> (object.state == 'draft') ===> 'Request for Quotation'+'-'+(object.name)

- Request for Quotation:===> Request for Quotation-PO0012  ===> 'Request for Quotation'+'-'+(object.name)

- Due Payments ===> Due Payments-Partner Name  ====> 'Due Payments'+'-'+(object.name)

- Products Labels ===> Products Labels-Product Name ===> 'Products Labels'+'-'+(object.name)

- Picking Operations ===> Picking Operations-Customer Name-Picking Number ===> 'Picking Operations'+'-'+(object.partner_id.name)+'-'+(object.name)

- Duplicates Invoices (account.invoice):
	===> Duplicate Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Duplicate Invoice'+'-'+(object.number)
        ===> Duplicate Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Duplicate Vendor Bill'+'-'+(object.number)

- Intrastat Invoices (account.invoice):
	===> Intrastat Invoice-INV-2016-0019  ====> ((object.type == 'out_invoice') and (object.state == 'open' or object.state == 'paid'))  ===> 'Intrastat Invoice'+'-'+(object.number)
        ===> Intrastat Vendor Bill-BILL-2016-003 ===> (object.type == 'in_invoice') ===> 'Intrastat Vendor Bill'+'-'+(object.number)

- Cost Structure Analysis ==> Cost Structure Analysis-Product Name ===> 'Cost Structure Analysis'+'-'+(object.name)

- Cost Analysis  ===> Cost Analysis-Product Name  ====> 'Cost Analysis'+'-'+(object.name)

- Print Badge  ===> Print Badge-Employee Name ===> 'Print Badge'+'-'+(object.name)

- Event Badge ==>  this report is in html format so ,there is no need to give the print_report_name.

- The following reports are print through wizard so there is no need to give the print_report_name

Budgets ===>
Financial Report ==>
General Ledger  ===>
Leaves Summary  ===>
2016-11-07 16:57:18 +01:00
Paramjit Singh Sahota 68dbacac1e [IMP] event, event_sale, website_event, website_event_sale : clear registration badge handeling
Now,
- event contains the HTML badge fields and the report (and report templates) to print badges
- event_sale add the ticket type on badges
- website_event allow the edition of badge throught website editor.
When the editor will be available in backend, event will be allow to edit badge report, so the action should be moved from website_Event to event module.
2015-05-20 17:56:37 +02:00