[REM] website_forum: commented challenges

This commit is contained in:
Xavier Morel
2016-08-05 10:18:02 +02:00
committed by Yannick Tivisse
parent c736465dab
commit 13e2fda203
3 changed files with 3 additions and 188 deletions
+1 -42
View File
@@ -216,47 +216,6 @@
<field name="challenge_id" eval="ref('challenge_guru')" />
</record>
<!-- Necromancer: 30 days old question -->
<!-- <record id="badge_a_7" model="gamification.badge">
<field name="name">Necromancer</field>
<field name="description">Answered a question more than 30 days later with at least 2 votes</field>
<field name="level">silver</field>
</record>
<record model="gamification.goal.definition" id="definition_necromancer">
<field name="name">Necromancer</field>
<field name="description">Answered a question more than 30 days later with at least 2 votes</field>
<field name="computation_mode">python</field>
<field name="compute_code">
result = 1
Post = self.pool['website.forum.post']
user_posts = Post.search(cr, uid, [('create_uid','=',object.user_id.id), ('parent_id', '!=', False), ('vote_count', '>=', 2)], context=context)
for post in Post.browse(cr, uid, user_posts, context=context):
print post.parent_id.create_date
question_date = datetime.strptime(post.parent_id.create_date, "%Y-%m-%d %H:%M:%S")
answer_date = datetime.strptime(post.create_date, "%Y-%m-%d %H:%M:%S")
if ((question_date - answer_date).days) >= 30:
result += 1
</field>
<field name="display_mode">boolean</field>
<field name="condition">higher</field>
</record>
<record model="gamification.challenge" id="challenge_necromancer">
<field name="name">Necromancer</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_18')" />
<field name="reward_realtime">True</field>
<field name="autojoin_group_id" eval="ref('base.group_user')"/>
<field name="state">inprogress</field>
<field name="category">forum</field>
</record>
<record model="gamification.challenge.line" id="line_necromancer">
<field name="definition_id" eval="ref('definition_necromancer')"/>
<field name="challenge_id" eval="ref('challenge_necromancer')"/>
<field name="target_goal">2</field>
</record> -->
<!-- Sealf Leaner: own question, 3+ upvotes -->
<record id="badge_a_8" model="gamification.badge">
<field name="name">Self-Learner</field>
@@ -294,4 +253,4 @@ for post in Post.browse(cr, uid, user_posts, context=context):
</record>
</data>
</openerp>
</openerp>
+1 -105
View File
@@ -118,110 +118,6 @@
<field name="target_goal">1</field>
</record>
<!-- <record id="badge_22" model="gamification.badge">
<field name="name">Organizer</field>
<field name="description">First retag</field>
<field name="level">bronze</field>
</record>
<record model="gamification.goal.definition" id="definition_notable_question">
<field name="name">Organizer</field>
<field name="description">Your First retag</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('website_forum.model_website_forum_post_history')" />
<field name="condition">higher</field>
<field name="domain">[('tags','!=',False)]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="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">Organizer</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_22')" />
<field name="reward_realtime">True</field>
<field name="autojoin_group_id" eval="ref('base.group_user')" />
<field name="state">inprogress</field>
<field name="category">forum</field>
</record>
<record model="gamification.challenge.line" id="line_notable_question">
<field name="definition_id" eval="ref('definition_notable_question')" />
<field name="target_goal">1</field>
<field name="challenge_id" eval="ref('challenge_notable_question')" />
</record> -->
<!-- <record id="badge_29" model="gamification.badge">
<field name="name">Associate Editor</field>
<field name="description">Edited 30 entries</field>
<field name="level">silver</field>
</record>
<record model="gamification.goal.definition" id="definition_associate_editor">
<field name="name">Associate Editor</field>
<field name="description">Edit 30 answer or question</field>
<field name="computation_mode">count</field>
<field name="display_mode">boolean</field>
<field name="model_id" eval="ref('website_forum.model_website_forum_post_history')" />
<field name="condition">higher</field>
<field name="domain">['|', ('name','!=',False), ('content','!=',False)]</field>
<field name="batch_mode">True</field>
<field name="batch_distinctive_field" eval="ref('website_forum.field_forum_post_create_uid')" />
<field name="batch_user_expression">user.id</field>
</record>
<record model="gamification.challenge" id="challenge_associate_editor">
<field name="name">Associate Editor</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_29')" />
<field name="reward_realtime">True</field>
<field name="autojoin_group_id" eval="ref('base.group_user')" />
<field name="state">inprogress</field>
<field name="category">forum</field>
</record>
<record model="gamification.challenge.line" id="line_associate_editor">
<field name="definition_id" eval="ref('definition_associate_editor')" />
<field name="target_goal">30</field>
<field name="challenge_id" eval="ref('challenge_associate_editor')" />
</record> -->
<!-- Enthusiast: vote for 15 days in a row -->
<!-- <record id="badge_9" model="gamification.badge">
<field name="name">Enthusiast</field>
<field name="description">Voted on questions/answers for 15 days in a row</field>
<field name="level">silver</field>
</record>
<record model="gamification.goal.definition" id="definition_enthusiast">
<field name="name">Enthusiast</field>
<field name="description">Vote on questions/answers for 15 days in a row</field>
<field name="computation_mode">python</field>
<field name="compute_code">start_date = date.today() - timedelta(days=16)
end_date = date.today() - timedelta(days=1)
cr.execute('SELECT COUNT(id), create_date from forum_post_vote where create_date &gt;= %s and create_date &lt;= %s and user_id = %s GROUP BY create_date',(start_date,end_date, object.user_id.id,))
data = cr.dictfetchall()
result = int(len(data) >= 15)</field>
<field name="display_mode">boolean</field>
<field name="condition">higher</field>
</record>
<record model="gamification.challenge" id="challenge_enthusiast">
<field name="name">Enthusiast</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_9')" />
<field name="autojoin_group_id" eval="ref('base.group_user')"/>
<field name="state">inprogress</field>
<field name="category">forum</field>
</record>
<record model="gamification.challenge.line" id="line_enthusiast">
<field name="definition_id" eval="ref('definition_enthusiast')"/>
<field name="challenge_id" eval="ref('challenge_enthusiast')"/>
<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>
@@ -294,4 +190,4 @@ result = int(len(data) >= 15)</field>
</record>
</data>
</openerp>
</openerp>
@@ -137,46 +137,6 @@
<field name="target_goal">100</field>
</record>
<!-- Expert: tag-based activity -->
<!-- <record id="badge_10" model="gamification.badge">
<field name="name">Expert</field>
<field name="description">Posted more than 10 questions or answers in one tag</field>
<field name="level">silver</field>
</record>
<record model="gamification.goal.definition" id="definition_expert">
<field name="name">Expert</field>
<field name="description">Post more than 10 questions in one tag</field>
<field name="computation_mode">python</field>
<field name="compute_code">def get_counter(cr, uid, context=None):
res = 1
Post = pool['forum.post']
Tag = pool['forum.tag']
for tag_id in Tag.search(cr, uid, [], context=context):
post_count = Post.search_count(cr, uid , [('tag_ids', 'in', tag_id), ('user_id', '=', object.user_id.id)], context=context)
if post_count >= 10:
res += 1
return res
result = get_counter(cr, uid, context=context)
</field>
<field name="display_mode">boolean</field>
<field name="condition">higher</field>
</record>
<record model="gamification.challenge" id="challenge_expert">
<field name="name">Expert</field>
<field name="period">once</field>
<field name="visibility_mode">personal</field>
<field name="report_message_frequency">never</field>
<field name="reward_id" eval="ref('badge_10')" />
<field name="autojoin_group_id" eval="ref('base.group_user')" />
<field name="state">inprogress</field>
<field name="category">forum</field>
</record>
<record model="gamification.challenge.line" id="line_expert">
<field name="definition_id" eval="ref('definition_expert')" />
<field name="target_goal">2</field>
<field name="challenge_id" eval="ref('challenge_expert')" />
</record> -->
<record id="badge_32" model="gamification.badge">
<field name="name">Taxonomist</field>
<field name="description">Created a tag used by 15 questions</field>
@@ -213,4 +173,4 @@ result = get_counter(cr, uid, context=context)
</record>
</data>
</openerp>
</openerp>