Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG] website_event_questions_by_ticket: Migration to 12.0 #155

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions website_event_questions_by_ticket/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
============================
Conditional Events Questions
============================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fevent-lightgray.png?logo=github
:target: https://github.com/OCA/event/tree/11.0/website_event_questions_by_ticket
:alt: OCA/event
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/event-11-0/event-11-0-website_event_questions_by_ticket
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/199/11.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allows to set that an event question is only asked for certain
tickets.

If the question is general, then having one of the allowed tickets will serve
for showing it. If the question is specific to each attendee, then the
evaluation will be done for each of the tickets.

**Table of contents**

.. contents::
:local:

Configuration
=============

#. Go to *Events > Events*
#. Create or select one event.
#. On the "Questions" page, create a new question or edit an existing one.
#. Fill the field "Limited to tickets" for restricting the question to that
ticket. Leave it blank for making it available for all tickets.

Usage
=====


#. Go to the website.
#. Go to "Events" section and select one of them.
#. Select ticket quantity and click on "Register".
#. On the popup dialog, the questions linked to that ticket and those without
restrictions will be shown.

Known issues / Roadmap
======================

* Add tests (tour) to the module.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/event/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/event/issues/new?body=module:%20website_event_questions_by_ticket%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

* Pedro M. Baeza

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/event <https://github.com/OCA/event/tree/11.0/website_event_questions_by_ticket>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions website_event_questions_by_ticket/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from . import models
22 changes: 22 additions & 0 deletions website_event_questions_by_ticket/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2019 Tecnativa - Pedro M. Baeza
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

{
"name": "Conditional Events Questions",
"summary": "Events Questions conditional to the chosen ticket",
"version": "12.0.1.0.0",
"category": "Website",
"website": "https://github.com/OCA/event",
"author": "Tecnativa, "
"Odoo Community Association (OCA)",
"license": "LGPL-3",
"installable": True,
"depends": [
"website_event_sale",
"website_event_questions",
],
"data": [
"views/event_event_views.xml",
"views/event_templates.xml",
],
}
3 changes: 3 additions & 0 deletions website_event_questions_by_ticket/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from . import event_event
33 changes: 33 additions & 0 deletions website_event_questions_by_ticket/models/event_event.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Copyright 2019 Tecnativa - Pedro M. Baeza
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from odoo import fields, models


class EventEvent(models.Model):
_inherit = 'event.event'

def _get_specific_questions(self, ticket_id):
self.ensure_one()
return self.specific_question_ids.filtered(lambda x: (
not x.restricted_ticket_ids or
ticket_id in x.restricted_ticket_ids.ids
))

def _get_general_questions(self, ticket_ids):
self.ensure_one()
return self.general_question_ids.filtered(lambda x: (
not x.restricted_ticket_ids or
(set(ticket_ids) & set(x.restricted_ticket_ids.ids))
))


class EventQuestion(models.Model):
_inherit = 'event.question'

restricted_ticket_ids = fields.Many2many(
comodel_name="event.event.ticket",
string="Limited to tickets",
domain="[('event_id', '=', parent.id)]",
ondelete="restrict",
)
5 changes: 5 additions & 0 deletions website_event_questions_by_ticket/readme/CONFIGURE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#. Go to *Events > Events*
#. Create or select one event.
#. On the "Questions" page, create a new question or edit an existing one.
#. Fill the field "Limited to tickets" for restricting the question to that
ticket. Leave it blank for making it available for all tickets.
3 changes: 3 additions & 0 deletions website_event_questions_by_ticket/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
* `Tecnativa <https://www.tecnativa.com>`_:

* Pedro M. Baeza
6 changes: 6 additions & 0 deletions website_event_questions_by_ticket/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
This module allows to set that an event question is only asked for certain
tickets.

If the question is general, then having one of the allowed tickets will serve
for showing it. If the question is specific to each attendee, then the
evaluation will be done for each of the tickets.
1 change: 1 addition & 0 deletions website_event_questions_by_ticket/readme/ROADMAP.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* Add tests (tour) to the module.
6 changes: 6 additions & 0 deletions website_event_questions_by_ticket/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

#. Go to the website.
#. Go to "Events" section and select one of them.
#. Select ticket quantity and click on "Register".
#. On the popup dialog, the questions linked to that ticket and those without
restrictions will be shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading