diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/website_forum/data | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/website_forum/data')
| -rw-r--r-- | addons/website_forum/data/badges_answer.xml | 256 | ||||
| -rw-r--r-- | addons/website_forum/data/badges_moderation.xml | 193 | ||||
| -rw-r--r-- | addons/website_forum/data/badges_participation.xml | 176 | ||||
| -rw-r--r-- | addons/website_forum/data/badges_question.xml | 399 | ||||
| -rw-r--r-- | addons/website_forum/data/forum_data.xml | 133 | ||||
| -rw-r--r-- | addons/website_forum/data/forum_default_faq.xml | 92 | ||||
| -rw-r--r-- | addons/website_forum/data/forum_demo.xml | 90 |
7 files changed, 1339 insertions, 0 deletions
diff --git a/addons/website_forum/data/badges_answer.xml b/addons/website_forum/data/badges_answer.xml new file mode 100644 index 00000000..30e1887d --- /dev/null +++ b/addons/website_forum/data/badges_answer.xml @@ -0,0 +1,256 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + + <!-- QUALITY (VOTES) --> + <!-- Teacher: at least 3 upvotes --> + <record id="badge_a_1" model="gamification.badge"> + <field name="name">Teacher</field> + <field name="description">Received at least 3 upvote for an answer for the first time</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_teacher"> + <field name="name">Teacher</field> + <field name="description">Received at least 3 upvote for an answer for the first time</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 3)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_teacher"> + <field name="name">Teacher</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_1"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_teacher"> + <field name="definition_id" ref="definition_teacher"/> + <field name="challenge_id" ref="challenge_teacher"/> + <field name="target_goal">1</field> + </record> + <!-- Nice: at least 4 upvotes --> + <record id="badge_a_2" model="gamification.badge"> + <field name="name">Nice Answer</field> + <field name="description">Answer voted up 4 times</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_nice_answer"> + <field name="name">Nice Answer (4)</field> + <field name="description">Answer voted up 4 times</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 4)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_nice_answer"> + <field name="name">Nice Answer</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_2"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_nice_answer"> + <field name="definition_id" ref="definition_nice_answer"/> + <field name="challenge_id" ref="challenge_nice_answer"/> + <field name="target_goal">1</field> + </record> + <!-- Good: at least 6 upvotes --> + <record id="badge_a_3" model="gamification.badge"> + <field name="name">Good Answer</field> + <field name="description">Answer voted up 6 times</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_good_answer"> + <field name="name">Good Answer (6)</field> + <field name="description">Answer voted up 6 times</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 6)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_good_answer"> + <field name="name">Good Answer</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_3"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_good_answer"> + <field name="definition_id" ref="definition_good_answer"/> + <field name="challenge_id" ref="challenge_good_answer"/> + <field name="target_goal">1</field> + </record> + <!-- Great: at least 15 upvotes --> + <record id="badge_a_4" model="gamification.badge"> + <field name="name">Great Answer</field> + <field name="description">Answer voted up 15 times</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_great_answer"> + <field name="name">Great Answer (15)</field> + <field name="description">Answer voted up 15 times</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 15)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_great_answer"> + <field name="name">Great Answer</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_4"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_great_answer"> + <field name="definition_id" ref="definition_great_answer"/> + <field name="challenge_id" ref="challenge_great_answer"/> + <field name="target_goal">1</field> + </record> + + <!-- ACCEPTANCE --> + <!-- Enlightened: at least 3 upvotes for an accepted answer --> + <record id="badge_a_5" model="gamification.badge"> + <field name="name">Enlightened</field> + <field name="description">Answer was accepted with 3 or more votes</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_enlightened"> + <field name="name">Enlightened</field> + <field name="description">Answer was accepted with 3 or more votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 3), ('is_correct', '=', True)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_enlightened"> + <field name="name">Enlightened</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_5"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_enlightened"> + <field name="definition_id" ref="definition_enlightened"/> + <field name="challenge_id" ref="challenge_enlightened"/> + <field name="target_goal">1</field> + </record> + <!-- Guru: at least 15 upvotes for an accepted answer --> + <record id="badge_a_6" model="gamification.badge"> + <field name="name">Guru</field> + <field name="description">Answer accepted with 15 or more votes</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_guru"> + <field name="name">Guru (15)</field> + <field name="description">Answer accepted with 15 or more votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('parent_id', '!=', False), ('vote_count', '>=', 15), ('is_correct', '=', True)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_guru"> + <field name="name">Guru</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_6"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_guru"> + <field name="definition_id" ref="definition_guru"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_guru"/> + </record> + + <!-- Sealf Leaner: own question, 3+ upvotes --> + <record id="badge_a_8" model="gamification.badge"> + <field name="name">Self-Learner</field> + <field name="description">Answered own question with at least 4 up votes</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_self_learner"> + <field name="name">Self-Learner</field> + <field name="description">Answer own question with at least 4 up votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('self_reply', '=', True), ('vote_count', '>=', 4)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_self_learner"> + <field name="name">Self-Learner</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_a_8"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_self_learner"> + <field name="definition_id" ref="definition_self_learner"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_self_learner"/> + </record> + + </data> +</odoo> diff --git a/addons/website_forum/data/badges_moderation.xml b/addons/website_forum/data/badges_moderation.xml new file mode 100644 index 00000000..339029bf --- /dev/null +++ b/addons/website_forum/data/badges_moderation.xml @@ -0,0 +1,193 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + + <!-- Cleanup: answer or question edition --> + <!-- Not rollback feature in forum --> +<!-- <record id="badge_3" model="gamification.badge"> + <field name="name">Cleanup</field> + <field name="description">First rollback</field> + <field name="level">gold</field> + </record> --> + + <!-- Critic: downvote based --> + <record id="badge_5" model="gamification.badge"> + <field name="name">Critic</field> + <field name="description">First downvote</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_critic"> + <field name="name">Critic</field> + <field name="description">First downvote</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post_vote"/> + <field name="condition">higher</field> + <field name="domain">[('vote', '=', '-1')]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post_vote__user_id"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_critic"> + <field name="name">Critic</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_5"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_critic"> + <field name="definition_id" ref="definition_critic"/> + <field name="challenge_id" ref="challenge_critic"/> + <field name="target_goal">1</field> + </record> + + <!-- Disciplined: delete own post with >=3 upvotes --> + <record id="badge_6" model="gamification.badge"> + <field name="name">Disciplined</field> + <field name="description">Deleted own post with 3 or more upvotes</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_disciplined"> + <field name="name">Disciplined</field> + <field name="description">Delete own post with 3 or more upvotes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('vote_count', '>=', 3), ('active', '=', False)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_disciplined"> + <field name="name">Disciplined</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_6"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_disciplined"> + <field name="definition_id" ref="definition_disciplined"/> + <field name="challenge_id" ref="challenge_disciplined"/> + <field name="target_goal">1</field> + </record> + + <!-- Editor: first edit --> + <record id="badge_7" model="gamification.badge"> + <field name="name">Editor</field> + <field name="description">First edit</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_editor"> + <field name="name">Editor</field> + <field name="description">First edit of answer or question</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="mail.model_mail_message"/> + <field name="condition">higher</field> + <field name="domain" eval="[('model', '=', 'forum.post'), ('subtype_id', 'in', [ref('website_forum.mt_answer_edit'), ref('website_forum.mt_question_edit')])]"/> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="mail.field_mail_message__author_id"/> + <field name="batch_user_expression">user.partner_id.id</field> + </record> + <record model="gamification.challenge" id="challenge_editor"> + <field name="name">Editor</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_7"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_editor"> + <field name="definition_id" ref="definition_editor"/> + <field name="challenge_id" ref="challenge_editor"/> + <field name="target_goal">1</field> + </record> + + <record id="badge_31" model="gamification.badge"> + <field name="name">Supporter</field> + <field name="description">First upvote</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_supporter"> + <field name="name">Supporter</field> + <field name="description">First upvote</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post_vote"/> + <field name="condition">higher</field> + <field name="domain">[('vote', '=', '1')]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post_vote__user_id"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_supporter"> + <field name="name">Supporter</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_31"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_supporter"> + <field name="definition_id" ref="definition_supporter"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_supporter"/> + </record> + + + <record id="badge_23" model="gamification.badge"> + <field name="name">Peer Pressure</field> + <field name="description">Deleted own post with 3 or more downvotes</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_peer_pressure"> + <field name="name">Peer Pressure</field> + <field name="description">Delete own post with 3 or more down votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="condition">higher</field> + <field name="domain">[('vote_count', '<=', -3), ('active', '=', False)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_peer_pressure"> + <field name="name">Peer Pressure</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_23"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_peer_pressure"> + <field name="definition_id" ref="definition_peer_pressure"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_peer_pressure"/> + </record> + + </data> +</odoo> diff --git a/addons/website_forum/data/badges_participation.xml b/addons/website_forum/data/badges_participation.xml new file mode 100644 index 00000000..e263003c --- /dev/null +++ b/addons/website_forum/data/badges_participation.xml @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + + <!-- Biography: complet your profile --> + <record id="badge_p_1" model="gamification.badge"> + <field name="name">Autobiographer</field> + <field name="description">Completed own biography</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_configure_profile"> + <field name="name">Completed own biography</field> + <field name="description">Write some information about yourself</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="base.model_res_users"/> + <field name="condition">higher</field> + <field name="domain">[ + ('partner_id.country_id', '!=', False), + ('partner_id.city', '!=', False), + ('partner_id.email', '!=', False) + ]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="base.field_res_users__id"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_configure_profile"> + <field name="name">Complete own biography</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_p_1"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_configure_profile"> + <field name="definition_id" ref="definition_configure_profile"/> + <field name="challenge_id" ref="challenge_configure_profile"/> + <field name="target_goal">1</field> + </record> + + <!-- Commentator: at least 10 comments posted on posts --> + <record id="badge_p_2" model="gamification.badge"> + <field name="name">Commentator</field> + <field name="description">Posted 10 comments</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_commentator"> + <field name="name">Commentator</field> + <field name="description">Comment an answer or a question</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="mail.model_mail_message"/> + <field name="condition">higher</field> + <field name="domain" eval="[('message_type', '=', 'comment'), ('subtype_id', '=', ref('mail.mt_comment')), ('model', '=', 'forum.post')]"/> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="mail.field_mail_message__author_id"/> + <field name="batch_user_expression">user.partner_id.id</field> + </record> + <record model="gamification.challenge" id="challenge_commentator"> + <field name="name">Commentator</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_p_2"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_commentator"> + <field name="definition_id" ref="definition_commentator"/> + <field name="challenge_id" ref="challenge_commentator"/> + <field name="target_goal">10</field> + </record> + + <!-- Pundit: 10 answers with at least score of 10 --> + <record id="badge_25" model="gamification.badge"> + <field name="name">Pundit</field> + <field name="description">Left 10 answers with score of 10 or more</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_pundit"> + <field name="name">Pundit</field> + <field name="description">Post 10 answers with score of 10 or more</field> + <field name="display_mode">boolean</field> + <field name="condition">higher</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain" eval="[('parent', '!=', False), ('vote_count' '>=', 10)]"/> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_pundit"> + <field name="name">Pundit</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_25"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_pundit"> + <field name="definition_id" ref="definition_pundit"/> + <field name="target_goal">10</field> + <field name="challenge_id" ref="challenge_pundit"/> + </record> + + <!-- Chief Commentator: 100 comments --> + <record id="badge_p_4" model="gamification.badge"> + <field name="name">Chief Commentator</field> + <field name="description">Posted 100 comments</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.challenge" id="challenge_chief_commentator"> + <field name="name">Chief Commentator</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_p_4"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_chief_commentator"> + <field name="definition_id" ref="definition_commentator"/> + <field name="challenge_id" ref="challenge_chief_commentator"/> + <field name="target_goal">100</field> + </record> + + <record id="badge_32" model="gamification.badge"> + <field name="name">Taxonomist</field> + <field name="description">Created a tag used by 15 questions</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_taxonomist"> + <field name="name">Taxonomist</field> + <field name="description">Create a tag which can used in minimum 15 questions</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_tag"/> + <field name="condition">higher</field> + <field name="domain">[('posts_count', '>=', 15)]</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_tag__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_taxonomist"> + <field name="name">Taxonomist</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_32"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_taxonomist"> + <field name="definition_id" ref="definition_taxonomist"/> + <field name="challenge_id" ref="challenge_taxonomist"/> + <field name="target_goal">1</field> + </record> + + </data> +</odoo> diff --git a/addons/website_forum/data/badges_question.xml b/addons/website_forum/data/badges_question.xml new file mode 100644 index 00000000..1da47fa2 --- /dev/null +++ b/addons/website_forum/data/badges_question.xml @@ -0,0 +1,399 @@ +<!-- <?xml version="1.0" encoding="utf-8"?> --> +<odoo> + <data noupdate="1"> + + <!-- POPULARITY (VIEWS) --> + <!-- Popular: 150 views --> + <record id="badge_q_1" model="gamification.badge"> + <field name="name">Popular Question</field> + <field name="description">Asked a question with at least 150 views</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_popular_question"> + <field name="name">Popular Question (150)</field> + <field name="description">Asked a question with at least 150 views</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('views', '>=', 150)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_popular_question"> + <field name="name">Popular Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_1"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_popular_question"> + <field name="definition_id" ref="definition_popular_question"/> + <field name="challenge_id" ref="challenge_popular_question"/> + <field name="target_goal">1</field> + </record> + + <!-- Notable: 250 views --> + <record id="badge_q_2" model="gamification.badge"> + <field name="name">Notable Question</field> + <field name="description">Asked a question with at least 250 views</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_notable_question"> + <field name="name">Popular Question (250)</field> + <field name="description">Asked a question with at least 250 views</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('views', '>=', 250)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_notable_question"> + <field name="name">Notable Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_2"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_notable_question"> + <field name="definition_id" ref="definition_notable_question"/> + <field name="challenge_id" ref="challenge_notable_question"/> + <field name="target_goal">1</field> + </record> + <!-- Famous: 500 views --> + <record id="badge_q_3" model="gamification.badge"> + <field name="name">Famous Question</field> + <field name="description">Asked a question with at least 500 views</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_famous_question"> + <field name="name">Popular Question (500)</field> + <field name="description">Asked a question with at least 500 views</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('views', '>=', 500)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_famous_question"> + <field name="name">Famous Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_3"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_famous_question"> + <field name="definition_id" ref="definition_famous_question"/> + <field name="challenge_id" ref="challenge_famous_question"/> + <field name="target_goal">1</field> + </record> + + <!-- FAVORITE --> + <!-- Credible: at least 1 user have it in favorite --> + <record id="badge_q_4" model="gamification.badge"> + <field name="name">Credible Question</field> + <field name="description">Question set as favorite by 1 user</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_favorite_question_1"> + <field name="name">Favourite Question (1)</field> + <field name="description">Question set as favorite by 1 user</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('favourite_count', '>=', 1)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_favorite_question_1"> + <field name="name">Credible Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_4"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_favorite_question_1"> + <field name="definition_id" ref="definition_favorite_question_1"/> + <field name="challenge_id" ref="challenge_favorite_question_1"/> + <field name="target_goal">1</field> + </record> + <!-- Favorite: at least 5 users have it in favorite --> + <record id="badge_q_5" model="gamification.badge"> + <field name="name">Favorite Question</field> + <field name="description">Question set as favorite by 5 users</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_favorite_question_5"> + <field name="name">Favourite Question (5)</field> + <field name="description">Question set as favorite by 5 user</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('favourite_count', '>=', 5)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_favorite_question_5"> + <field name="name">Favorite Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_5"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_favorite_question_5"> + <field name="definition_id" ref="definition_favorite_question_5"/> + <field name="challenge_id" ref="challenge_favorite_question_5"/> + <field name="target_goal">1</field> + </record> + <!-- Stellar: at least 25 users have it in favorite --> + <record id="badge_q_6" model="gamification.badge"> + <field name="name">Stellar Question</field> + <field name="description">Question set as favorite by 25 users</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_stellar_question_25"> + <field name="name">Favourite Question (25)</field> + <field name="description">Question set as favorite by 25 user</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('favourite_count', '>=', 25)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_stellar_question_25"> + <field name="name">Stellar Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_6"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_stellar_question_25"> + <field name="definition_id" ref="definition_stellar_question_25"/> + <field name="challenge_id" ref="challenge_stellar_question_25"/> + <field name="target_goal">1</field> + </record> + + <!-- QUALITY (VOTES) --> + <!-- Student: at least 1 upvote --> + <record id="badge_q_7" model="gamification.badge"> + <field name="name">Student</field> + <field name="description">Asked first question with at least one up vote</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_student"> + <field name="name">Upvoted question (1)</field> + <field name="description">Asked first question with at least one up vote</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('vote_count', '>=', 1)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_student"> + <field name="name">Student</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_7"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_student"> + <field name="definition_id" ref="definition_student"/> + <field name="challenge_id" ref="challenge_student"/> + <field name="target_goal">1</field> + </record> + <!-- Nice: at least 4 upvotes --> + <record id="badge_q_8" model="gamification.badge"> + <field name="name">Nice Question</field> + <field name="description">Question voted up 4 times</field> + <field name="level">bronze</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_nice_question"> + <field name="name">Upvoted question (4)</field> + <field name="description">Asked first question with at least 4 up votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('vote_count', '>=', 4)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_nice_question"> + <field name="name">Nice Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_8"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_nice_question"> + <field name="definition_id" ref="definition_nice_question"/> + <field name="challenge_id" ref="challenge_nice_question"/> + <field name="target_goal">1</field> + </record> + <!-- Good: at least 6 upvotes --> + <record id="badge_q_9" model="gamification.badge"> + <field name="name">Good Question</field> + <field name="description">Question voted up 6 times</field> + <field name="level">silver</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_good_question"> + <field name="name">Upvoted question (6)</field> + <field name="description">Asked first question with at least 6 up votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('vote_count', '>=', 6)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_good_question"> + <field name="name">Good Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_9"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_good_question"> + <field name="definition_id" ref="definition_good_question"/> + <field name="challenge_id" ref="challenge_good_question"/> + <field name="target_goal">1</field> + </record> + <!-- Great: at least 15 upvotes --> + <record id="badge_q_10" model="gamification.badge"> + <field name="name">Great Question</field> + <field name="description">Question voted up 15 times</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_great_question"> + <field name="name">Upvoted question (15)</field> + <field name="description">Asked first question with at least 15 up votes</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('vote_count', '>=', 15)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_great_question"> + <field name="name">Great Question</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_q_10"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_great_question"> + <field name="definition_id" ref="definition_great_question"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_great_question"/> + </record> + + <!-- Question + Answer --> + <record id="badge_26" model="gamification.badge"> + <field name="name">Scholar</field> + <field name="description">Asked a question and accepted an answer</field> + <field name="level">gold</field> + <field name="rule_auth">nobody</field> + </record> + <record model="gamification.goal.definition" id="definition_scholar"> + <field name="name">Scholar</field> + <field name="description">Ask a question and accept an answer</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" ref="website_forum.model_forum_post"/> + <field name="domain">[('parent_id', '=', False), ('has_validated_answer', '=', True)]</field> + <field name="condition">higher</field> + <field name="batch_mode">True</field> + <field name="batch_distinctive_field" ref="website_forum.field_forum_post__create_uid"/> + <field name="batch_user_expression">user.id</field> + </record> + <record model="gamification.challenge" id="challenge_scholar"> + <field name="name">Scholar</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="reward_id" ref="badge_26"/> + <field name="reward_realtime">True</field> + <field name="user_domain">[('karma', '>', 0)]</field> + <field name="state">inprogress</field> + <field name="challenge_category">forum</field> + </record> + <record model="gamification.challenge.line" id="line_scholar"> + <field name="definition_id" ref="definition_scholar"/> + <field name="target_goal">1</field> + <field name="challenge_id" ref="challenge_scholar"/> + </record> + + </data> +</odoo> diff --git a/addons/website_forum/data/forum_data.xml b/addons/website_forum/data/forum_data.xml new file mode 100644 index 00000000..3000a08e --- /dev/null +++ b/addons/website_forum/data/forum_data.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data noupdate="1"> + <record id="forum_help" model="forum.forum"> + <field name="name">Help</field> + <field name="description">This community is for professionals and enthusiasts of our products and services. Share and discuss the best content and new marketing ideas, build your professional profile and become a better marketer together.</field> + </record> + + <record id="menu_website_forums" model="website.menu"> + <field name="name">Forum</field> + <field name="url">/forum</field> + <field name="parent_id" ref="website.main_menu"/> + <field name="sequence" type="int">35</field> + </record> + </data> + <data> + <function model="ir.config_parameter" name="set_param" eval="('auth_signup.invitation_scope', 'b2c')"/> + + <!-- JUMP TO FORUM AT INSTALL --> + <record id="action_open_forum" model="ir.actions.act_url"> + <field name="name">Forum</field> + <field name="target">self</field> + <field name="url" eval="'/forum/'+str(ref('website_forum.forum_help'))"/> + </record> + + </data> + <data noupdate="1"> + <!-- Answers subtypes --> + <record id="mt_answer_new" model="mail.message.subtype"> + <field name="name">New Answer</field> + <field name="res_model">forum.post</field> + <field name="default" eval="True"/> + <field name="hidden" eval="False"/> + <field name="description">New Answer</field> + </record> + <record id="mt_answer_edit" model="mail.message.subtype"> + <field name="name">Answer Edited</field> + <field name="res_model">forum.post</field> + <field name="default" eval="False"/> + <field name="description">Answer Edited</field> + </record> + <!-- Questions subtypes --> + <record id="mt_question_new" model="mail.message.subtype"> + <field name="name">New Question</field> + <field name="res_model">forum.post</field> + <field name="default" eval="True"/> + <field name="description">New Question</field> + </record> + <record id="mt_question_edit" model="mail.message.subtype"> + <field name="name">Question Edited</field> + <field name="res_model">forum.post</field> + <field name="default" eval="False"/> + <field name="description">Question Edited</field> + </record> + <!-- Forum subtypes, to follow all answers or questions --> + <record id="mt_forum_answer_new" model="mail.message.subtype"> + <field name="name">New Answer</field> + <field name="res_model">forum.forum</field> + <field name="default" eval="True"/> + <field name="hidden" eval="False"/> + <field name="parent_id" ref="mt_answer_new"/> + <field name="relation_field">forum_id</field> + </record> + <record id="mt_forum_question_new" model="mail.message.subtype"> + <field name="name">New Question</field> + <field name="res_model">forum.forum</field> + <field name="default" eval="True"/> + <field name="hidden" eval="False"/> + <field name="parent_id" ref="mt_question_new"/> + <field name="relation_field">forum_id</field> + </record> + + <record id="base.open_menu" model="ir.actions.todo"> + <field name="action_id" ref="action_open_forum"/> + <field name="state">open</field> + </record> + + <!-- Reasons for closing Post --> + <record id="reason_1" model="forum.post.reason"> + <field name="name">Duplicate post</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_2" model="forum.post.reason"> + <field name="name">Off-topic or not relevant</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_3" model="forum.post.reason"> + <field name="name">Too subjective and argumentative</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_4" model="forum.post.reason"> + <field name="name">Not a real post</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_6" model="forum.post.reason"> + <field name="name">Not relevant or out dated</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_7" model="forum.post.reason"> + <field name="name">Contains offensive or malicious remarks</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_8" model="forum.post.reason"> + <field name="name">Spam or advertising</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_9" model="forum.post.reason"> + <field name="name">Too localized</field> + <field name="reason_type">basic</field> + </record> + <record id="reason_11" model="forum.post.reason"> + <field name="name">Insulting and offensive language</field> + <field name="reason_type">offensive</field> + </record> + <record id="reason_12" model="forum.post.reason"> + <field name="name">Violent language</field> + <field name="reason_type">offensive</field> + </record> + <record id="reason_13" model="forum.post.reason"> + <field name="name">Inappropriate and unacceptable statements</field> + <field name="reason_type">offensive</field> + </record> + <record id="reason_14" model="forum.post.reason"> + <field name="name">Threatening language</field> + <field name="reason_type">offensive</field> + </record> + <record id="reason_15" model="forum.post.reason"> + <field name="name">Racist and hate speech</field> + <field name="reason_type">offensive</field> + </record> + + </data> +</odoo> diff --git a/addons/website_forum/data/forum_default_faq.xml b/addons/website_forum/data/forum_default_faq.xml new file mode 100644 index 00000000..d53d6df2 --- /dev/null +++ b/addons/website_forum/data/forum_default_faq.xml @@ -0,0 +1,92 @@ +<odoo> + <data> + <record id="default_faq" model="ir.ui.view"> + <field name="name">Faq Accordion</field> + <field name="type">qweb</field> + <field name="key">website_forum.faq_accordion</field> + <field name="arch" type="xml"> + <section class="s_faq_collapse pt32 pb32"> + <div class="container"> + <div id="myCollapse" class="accordion" role="tablist"> + <div class="card bg-white" data-name="Item"> + <a href="#" role="tab" data-toggle="collapse" aria-expanded="false" class="collapsed card-header" data-target="#collapse1"> + <b>What kinds of questions can I ask here?</b> + </a> + <div id="collapse1" class="collapse" data-parent="#myCollapse" role="tabpanel"> + <div class="card-body"> + <p>This community is for professional and enthusiast users, partners and programmers. You can ask questions about:</p> + <ul> + <li>how to install Odoo on a specific infrastructure,</li> + <li>how to configure or customize Odoo to specific business needs,</li> + <li>what's the best way to use Odoo for a specific business need,</li> + <li>how to develop modules for your own need,</li> + <li>specific questions about Odoo service offers, etc.</li> + </ul> + <p><b>Before you ask - please make sure to search for a similar question.</b> You can search questions by their title or tags. It’s also OK to answer your own question.</p> + <p><b>Please avoid asking questions that are too subjective and argumentative</b> or not relevant to this community.</p> + </div> + </div> + </div> + <div class="card bg-white" data-name="Item"> + <a href="#" role="tab" data-toggle="collapse" aria-expanded="false" class="collapsed card-header" data-target="#collapse2"> + <b>What should I avoid in my questions?</b> + </a> + <div id="collapse2" class="collapse" data-parent="#myCollapse" role="tabpanel"> + <div class="card-body"> + <p>You should only ask practical, answerable questions based on actual problems that you face. Chatty, open-ended questions diminish the usefulness of this site and push other questions off the front page.</p> + <p>To prevent your question from being flagged and possibly removed, avoid asking subjective questions where …</p> + <ul> + <li>every answer is equally valid: “What’s your favorite ______?”</li> + <li>your answer is provided along with the question, and you expect more answers: “I use ______ for ______, what do you use?”</li> + <li>there is no actual problem to be solved: “I’m curious if other people feel like I do.”</li> + <li>we are being asked an open-ended, hypothetical question: “What if ______ happened?”</li> + <li>it is a rant disguised as a question: “______ sucks, am I right?”</li> + </ul> + <p>If you fit in one of these example or if your motivation for asking the question is “I would like to participate in a discussion about ______”, then you should not be asking here but on our mailing lists. However, if your motivation is “I would like others to explain ______ to me”, then you are probably OK.</p> + <p>(The above section was adapted from Stackoverflow’s FAQ.)</p> + <p>More over:</p> + <ul> + <li><b>Answers should not add or expand questions</b>. Instead either edit the question or add a question comment.</li> + <li><b>Answers should not comment other answers</b>. Instead add a comment on the other answers.</li> + <li><b>Answers shouldn't just point to other Questions</b>. Instead add a question comment indication "Possible duplicate of...". However, it's ok to include links to other questions or answers providing relevant additional information.</li> + <li><b>Answers shouldn't just provide a link a solution</b>. Instead provide the solution description text in your answer, even if it's just a copy/paste. Links are welcome, but should be complementary to answer, referring sources or additional reading.</li> + </ul> + </div> + </div> + </div> + <div class="card bg-white" data-name="Item"> + <a href="#" role="tab" data-toggle="collapse" aria-expanded="false" class="collapsed card-header" data-target="#collapse3"> + <b>What should I avoid in my answers?</b> + </a> + <div id="collapse3" class="collapse" data-parent="#myCollapse" role="tabpanel"> + <div class="card-body"> + <p><b>Answers should not add or expand questions</b>. Insteadeither edit the question or add a comment.</p> + <p><b>Answers should not comment other answers</b>. Instead add a comment on the other answers.</p> + <p><b>Answers shouldn't just point to other questions</b>.Instead add a comment indicating <i>"Possible duplicate of..."</i>. However, it's fine to include links to other questions or answers providing relevant additional information.</p> + <p> <b>Answers shouldn't just provide a link a solution</b>. Instead provide the solution description text in your answer, even if it's just a copy/paste. Links are welcome, but should be complementary to answer, referring sources or additional reading.</p> + <p><b>Answers should not start debates</b> This community Q&A is not a discussion group. Please avoid holding debates in your answers as they tend to dilute the essence of questions and answers. For brief discussions please use commenting facility.</p> + <p>When a question or answer is upvoted, the user who posted them will gain some points, which are called "karma points". These points serve as a rough measure of the community trust to him/her. Various moderation tasks are gradually assigned to the users based on those points.</p> + <p>For example, if you ask an interesting question or give a helpful answer, your input will be upvoted. On the other hand if the answer is misleading - it will be downvoted. Each vote in favor will generate 10 points, each vote against will subtract 10 points. There is a limit of 200 points that can be accumulated for a question or answer per day. The table given at the end explains reputation point requirements for each type of moderation task.</p> + </div> + </div> + </div> + <div class="card bg-white" data-name="Item"> + <a href="#" role="tab" data-toggle="collapse" aria-expanded="false" class="collapsed card-header" data-target="#collapse4"> + <b>Why can other people edit my questions/answers?</b> + </a> + <div id="collapse4" class="collapse" data-parent="#myCollapse" role="tabpanel"> + <div class="card-body"> + <p>The goal of this site is create a relevant knowledge base that would answer questions related to Odoo.</p> + <p>Therefore questions and answers can be edited like wiki pages by experienced users of this site in order to improve the overall quality of the knowledge base content. Such privileges are granted based on user karma level: you will be able to do the same once your karma gets high enough.</p> + <p>If this approach is not for you, please respect the community.</p> + <a t-attf-href="/forum/#{slug(forum)}/faq/karma">Here a table with the privileges and the karma level</a> + </div> + </div> + </div> + </div> + </div> + </section> + </field> + </record> + </data> +</odoo>
\ No newline at end of file diff --git a/addons/website_forum/data/forum_demo.xml b/addons/website_forum/data/forum_demo.xml new file mode 100644 index 00000000..041ef4c8 --- /dev/null +++ b/addons/website_forum/data/forum_demo.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + <data> + + + + <!-- Tag --> + <record id="tags_0" model="forum.tag"> + <field name="name">Contract</field> + <field name="forum_id" ref="website_forum.forum_help"/> + </record> + <record id="tags_1" model="forum.tag"> + <field name="name">Action</field> + <field name="forum_id" ref="website_forum.forum_help"/> + </record> + <record id="tags_2" model="forum.tag"> + <field name="name">ecommerce</field> + <field name="forum_id" ref="website_forum.forum_help"/> + </record> + <record id="tags_3" model="forum.tag"> + <field name="name">Development</field> + <field name="forum_id" ref="website_forum.forum_help"/> + </record> + + <!-- Questions --> + <record id="question_0" model="forum.post"> + <field name="name">How to configure alerts for employee contract expiration</field> + <field name="forum_id" ref="website_forum.forum_help"/> + <field name="views">3</field> + <field name="create_uid" ref="base.user_admin"/> + <field name="write_uid" ref="base.user_admin"/> + <field name="tag_ids" eval="[(4,ref('website_forum.tags_0')), (4,ref('website_forum.tags_1'))]"/> + </record> + <record id="question_1" model="forum.post"> + <field name="name">CMS replacement for ERP and eCommerce</field> + <field name="views">8</field> + <field name="create_uid" ref="base.user_admin"/> + <field name="write_uid" ref="base.user_admin"/> + <field name="forum_id" ref="website_forum.forum_help"/> + <field name="content"><![CDATA[<p>I use Wordpress as a CMS and eCommerce platform. The developing in Wordpress is quite easy and solid but it missing ERP feature (there is single plugin to integrate with Frontaccounting) so I wonder: + +Can I use Odoo as a replacement CMS of Wordpress + eCommerce plugin? + +In simple words does Odoo became CMS+ERP platform?</p>]]></field> + <field name="tag_ids" eval="[(4,ref('website_forum.tags_2'))]"/> + </record> + + <!-- Answer --> + <record id="answer_0" model="forum.post"> + <field name="forum_id" ref="website_forum.forum_help"/> + <field name="name">Re: How to configure alerts for employee contract expiration</field> + <field name="content"><![CDATA[<p>Just for posterity so other can see. Here are the steps to set automatic alerts on any contract.. i.e. HR Employee, or Fleet for example. I will use fleet as an example.</p> +<ul> + <li>Step 1. As a user who has access rights to Technical Features, go to Settings --> Automated Actions. Create A new Automated Action. For the Related Document Model choose.. Contract information on a vehicle (you can also type in the actual model name.. fleet.vehicle.log.contract ) . Set the trigger date to ... Contract Expiration Date. The Next Field (Delay After Trigger Date) is a bit ridiculous. Who wants to be reminded of a contract expiration AFTER the fact? The field should say Days Before Date to Fire Action and the number should be converted to a negative. IMHO. Any way... to get a workable solution you must enter in the number in the negative. So for instance like me if you want to be warned 35 days BEFORE the expiration... put in Delay After Trigger Date.. the number -35 But the sake of testing, right now just put in -1 for 1 day before. Save the Action. + <li>Step 2. Go to Server Actions and create new Action. Call it Fleet Contract Expiration Warning. The Object will be the same as above .. Contract information on a vehicle. The Action Type is Email. For email address I just put my email. Under subject put in... [[object.name]]. This will tell you the name of the car. Message you can put any text message you like. Now save the Server Action.</li> + <li>Step 3. Now go back to the Automated Action you created and go to the Action tab next to the conditions tab. Click Add and add the server action you created . In this case Fleet Contract Expiration Warning. Then Save.</li> + <li>Step 4. To test, set a contract to expire tomorrow under one of your fleets vehicles. Then Save it.</li> + <li>Step 5. Go to Scheduled Actions.. Set interval number to 1. Interval Unit to Minutes. Then Set the Next Execution date to 2 minutes from now. If your SMTP is configured correctly you will start to get a mail every minute with the reminder.</li></ul>]]></field> + <field name="parent_id" ref="question_0" /> + </record> + <record id="answer_1" model="forum.post"> + <field name="forum_id" ref="website_forum.forum_help"/> + <field name="name">Re: CMS replacement for ERP and eCommerce</field> + <field name="content"><![CDATA[ +<p>Odoo v8 provides a web module and an e-commerce module: www.odoo.com/page/website-builder +The CMS editor in Odoo web is nice but I prefer Drupal for customization and there is a Drupal module for Odoo. I think WP is better than Odoo web too. +</p>]]></field> + <field name="parent_id" ref="question_1"/> + </record> + + <!-- Post Vote --> + <record id="post_vote_0" model="forum.post.vote"> + <field name="post_id" ref="question_0"/> + <field name="user_id" ref="base.user_demo"/> + <field name="vote">1</field> + </record> + <record id="post_vote_1" model="forum.post.vote"> + <field name="post_id" ref="answer_0"/> + <field name="user_id" ref="base.user_demo"/> + <field name="vote">1</field> + </record> + + <!-- Run Scheduler --> + <function model="gamification.challenge" name="_cron_update"> + <value eval="False"/> + <value eval="False"/> + </function> + + </data> +</odoo> |
