Commit Graph
69 Commits
Author SHA1 Message Date
Yenthe f804b06278 [FIX] gamification: Typo rewared > rewarded 2015-09-07 12:50:15 +02:00
Christophe Simonis edeceba7df [MERGE] forward port of branch saas-6 up to 7a768a4
Due to `sale` rewrite (94716a3f14),
the commit 503820acb6 has been partially
ignored (in sale.order.line) and will be rewritten later using new-api.
2015-08-28 15:07:16 +02:00
Christophe Simonis 6d85a9a4b9 [MERGE] forward port of branch 8.0 up to d744923 2015-08-27 18:30:46 +02:00
Goffin Simon 96be5b404a [FIX] gamification: Refresh Challenge
When clicking on the button "Refresh Challenge" in the "gamification.challenge"
view form, all the "gamification.goal" records linked to this challenge must
be updated.

opw:647983
2015-08-27 16:41:52 +02:00
Thibault Delavallée 2c36354ca9 [RENAME] mail, website_mail, website_mail_group, various: mail.group
model has been renamed to mail.channel to prepare the slack modeling.

In future commits the mail.group model will be merged with the channel
model from im_chat. The first move is to rename mail.group into
mail.channel to have a model that will unite both features.
2015-07-09 11:12:50 +02:00
Olivier Dony 0bd4545348 [LEGAL] Use global LICENSE/COPYRIGHT files, remove boilerplate text
- Preserved explicit 3rd-party copyright notices
- Explicit boilerplate should not be necessary - copyright law applies
  automatically in all countries thanks to Berne Convention + WTO rules,
  and a reference to the applicable license is clear enough.
2015-06-02 03:16:04 +02:00
Christophe Simonis 3206a35aed [MERGE] forward port of branch 8.0 up to 8ac8281 2015-04-13 12:07:58 +02:00
Goffin Simon b1dd5d6045 [FIX] gamification: Start Date and End Date format
In the function start_end_date_for_period, in the "else" clause, the case considered for the period
is "once". In this case, start_date and end_date are either False or in string format.

opw: 631941
2015-04-07 08:55:05 +02:00
Christophe Simonis 4ccca49d34 [MERGE] forward port of branch 8.0 up to 592f1cd 2015-01-21 12:11:38 +01:00
Martin Trigaux 79e01f0f4d [FIX] gamification: fetch results is a tuple 2015-01-20 16:15:10 +01:00
Martin Trigaux ec0c0f2973 [IMP] gamification: performance improvement
Reduce the number of goals that are recomputed. Remove the goals for users that
did not connect since the last update.
Add sql query for faster lookup and restrict on user table
2015-01-20 14:42:56 +01:00
Goffin Simon 0fd773a486 [IMP] Cleanup and refactoring of exception handling
Unify and refactor exception handling in framework and addons.

The generic `except_osv` is now deprecated, and replaced by more specialized exception subtypes:
 - `UserError` (renamed from Warning, as it conflicts with the built-in `Warning`) raised when a non-technical error occurs during a business operation. It could be a missing information in the data provided by the user, or a misconfiguration.
 - `AccessError`: raised when any operation is denied because the user conducting it does not have the required access rights.
 - `AccessDenied`: raised when an operation that requires authenticated access is attempted via an unauthenticated request.
 - `MissingError`: raised when an operation is attempted on a record that does not exist.
 - `ValidationError`: raised when an operation violates a SQL or Python constraint.
 - All other exceptions are internal errors due to a system problem or bug, and raised untouched to the client-side, which should display a traceback.

All exceptions take a single message argument.

The `test_exceptions` module has been updated to showcase both new and old (deprecated) exceptions.

A great many old `except_osv` had a useless title with "Error!" or "Warning", those have been removed, as this is handled by the client-side widget that displays the messages.

This commit introduces a more consistent policy for logging errors and warnings:
 - All messages that do not require administrator attention should be logged at INFO level or lower. This includes all errors that are notified to the user in a friendly manner, even for access right problems or validation errors during business operations.
 - All messages that indicate a likely misconfiguration or malicious use by the users should be logged at WARNING level, as they typically require administrator attention.
 - All other unhandled internal errors cannot typically be handled by the user and should be logged at ERROR or higher level, as they require immediate administrator attention.
2015-01-16 17:15:18 +01:00
Julien De Coster d88c34d11e [IMP] Mass mailings send in cron
1. The merge of the "email_template" module into the "mail" module.
2. The send action of the mass mailing has been moved from the frontend to a cron, because it was too slow to send over 10,000 mails (the user's browser was blocked for 15 - 20 minutes). Mass mailings have now their own process in the kanban view.
3. Mails sent from the mail form are sent immediatly instead of from the mail queue (for instance, when you go to sales > customers > list view > select 2 -3 customers > More > Partner Mass Mailing).
4. Users have now the choice from which mailing list they want to unsubscribe when they click on the unsubscribe link at the bottom of the mail.
5. Mass mailings inherit from their campaign UTMs and mass mailing campaigns are linked to an UTM campaign.
6. Many little improvements
2015-01-07 18:01:58 +01:00
Martin Trigaux ea68690407 [IMP] gamification: avoid sending twice emails in cron
When the cron is running on a database with a large number of goals (e.g. website_forum with thousands of users), it's possible the CPU time is exceeded and we may have a rollback after sending some emails (for granted badges).
To avoid sending twice emails, commit in cron mode after each reward.
2014-10-07 18:14:57 +02:00
Martin Trigaux 56b3db8219 [IMP] gamification: usability and shit
Challenge
- 'Reward as soon as every goal is reached' box checked by default (most of the time people want this behaviour, few special cases were do not)
- Click on challenge kanban opens goal list instead of challenge form
- Add button 'Start Challenge' clicking on statusbar is not intuitive

Badge
- When creates a challenge from badge view, set by default badge to 'For Every Succeding User' field
- replace filter 'Current' vs 'Passed' by 'Running' (in progress and done with not reached end date) vs 'Done' (done & failed without end date or end date passed)

Goal
- list of badge on employee form not the first tab
2014-09-18 11:12:15 +02:00
cod-odoo fca77ad8c5 [FIX] gamification: prevent traceback in goals history
Closes #1536
2014-08-04 11:37:26 +02:00
Raphael Collet cbe2dbb672 [MERGE] new v8 api by rco
A squashed merge is required as the conversion of the apiculture branch from
bzr to git was not correctly done. The git history contains irrelevant blobs
and commits. This branch brings a lot of changes and fixes, too many to list
exhaustively.

- New orm api, objects are now used instead of ids
- Environements to encapsulates cr uid context while maintaining backward compatibility
- Field compute attribute is a new object oriented way to define function fields
- Shared browse record cache
- New onchange protocol
- Optional copy flag on fields
- Documentation update
- Dead code cleanup
- Lots of fixes
2014-07-06 17:05:41 +02:00
Christophe Simonis eef6330c55 [MERGE] forward port of branch saas-5 up to adf07a9 2014-06-19 16:23:32 +02:00
Christophe Simonis adf07a9490 [MERGE] forward port of branch saas-4 up to 5087612 2014-06-19 16:13:35 +02:00
Christophe Simonis 5087612d1d [MERGE] forward port of branch saas-3 up to bf53aed 2014-06-19 15:44:07 +02:00
Paramjit Singh Sahota 9bb0abd641 [FIX] GAMIFICATION: Fixed the Attribute Error
' 'str' object has no attribute 'strftime' '
2014-06-17 15:12:15 +02:00
Martin Trigaux ae8e7ea920 [IMP] gamification: remove deprecated method 2014-06-02 15:15:53 +02:00
Christophe Simonis a756b82372 [MERGE] forward port of branch saas-4 up to revid bb26dea 2014-05-20 20:19:55 +02:00
Martin Trigaux 8f2bbf73ae [FIX] gamification: avoid sending reports for non-reported challenges 2014-05-14 16:15:18 +02:00
Martin Trigaux 0043a58763 Forward-port of latest saas-3, up to revision 9456 (yep I missed one commit) 2014-05-14 11:01:36 +02:00
Martin Trigaux 3ff7b48a81 [FIX] gamification: make sure than a cron running more than once a day will not report the progress more than once 2014-05-14 10:59:20 +02:00
Martin Trigaux 583fe74ba2 Forward-port of latest saas-3, up to revision 9455 (rev-id mat@openerp.com-20140514080416-m4t23y0rxx2ot7y6) 2014-05-14 10:37:54 +02:00
Martin Trigaux f14f632ef5 [IMP] gamification: improve the name of some m2m relations
bzr revid: mat@openerp.com-20140512092718-s6143ajy2g18ofy4
2014-05-12 11:27:18 +02:00
Martin Trigaux 3691ee0ca7 [FIX] gamification: avoid challenge to be initialised at the target limit (e.g. set your company data goal has a target of 0) and make sure we will compute the goal at least once
bzr revid: mat@openerp.com-20140509131839-lm5zt696sif1krvx
2014-05-09 15:18:39 +02:00
Martin Trigaux fd50793820 [IMP] gamification: avoid subscription hacks and send directly relevant messages to followers of the challenge, remove the goals of users not matching the user domain anymore
bzr revid: mat@openerp.com-20140507095616-1xvetgj4qel7iqii
2014-05-07 11:56:16 +02:00
Martin Trigaux 3fa2751855 [FIX] name_get returns tuple
bzr revid: mat@openerp.com-20140506143834-od28gkhbpbhsgde4
2014-05-06 16:38:34 +02:00
Martin Trigaux 3cdb9803d4 [IMP] unsubscribing at each cron run is overkill
bzr revid: mat@openerp.com-20140506135953-3hssq2lycvy1c3df
2014-05-06 15:59:53 +02:00
Martin Trigaux 687d675de5 [FIX] gamification: using batch mode to check rewards
bzr revid: mat@openerp.com-20140506134805-4nsurv82cg9anfvm
2014-05-06 15:48:05 +02:00
Martin Trigaux 409bf269d3 [FIX] gamification: be sure that not challenge get subscribers depending of the report_message_frequency
bzr revid: mat@openerp.com-20140506115245-ktuxhcsml466ym6u
2014-05-06 13:52:45 +02:00
Martin Trigaux a233e26f71 [IMP] gamification: commit for each goal definition in cron
bzr revid: mat@openerp.com-20140506113831-iut3aqbwfwbnertv
2014-05-06 13:38:31 +02:00
Martin Trigaux ccf4d142b0 [FIX] gamification: avoid recomputing every goal for every challenge
bzr revid: mat@openerp.com-20140506102942-obopc9j5a2136cxh
2014-05-06 12:29:42 +02:00
Martin Trigaux bde55baaa9 [IMP] gamification: performance improvement on the goal computation
Removing the inheritance to mail.thread will avoid posting message at creation and other tracking mechanism at each write. Updating a challenge with a large number of users will be significantly faster.

bzr revid: mat@openerp.com-20140506093716-xvpe1n2ase2zix0v
2014-05-06 11:37:16 +02:00
Christophe Simonis 7a7d7febf8 [MERGE] forward port of branch saas-3 up to revid 9429 chs@openerp.com-20140424123538-rxk9got9k2on1ki1
bzr revid: chs@openerp.com-20140424131824-4ksluvhnegp7kplb
bzr revid: chs@openerp.com-20140424134533-lhhcd32n3s0m9cqk
2014-04-24 15:45:33 +02:00
Martin Trigaux f73907587b [FIX] gamification: do not set a start_date by default as the cron starts past challenges (making data challenge to start) and avoid useless write
bzr revid: mat@openerp.com-20140424110341-pnu79q44m7gzl8t0
2014-04-24 13:03:41 +02:00
Martin Trigaux bb91b146dd [MERGE] [FIX] gamification and website_forum
- add noupdate tag
- domain are evaluated at loading
- better user subscription and computation of domain
- batch creation of users

bzr revid: mat@openerp.com-20140422083856-3dffeml5qt0w0dt4
2014-04-22 10:38:56 +02:00
Martin Trigaux 6022f890cb [FIX] gamification: convert calls to private method and don't forget to create missing goals
bzr revid: mat@openerp.com-20140422075247-5rddurvr6ymt80mo
2014-04-22 09:52:47 +02:00
Martin Trigaux b24252d5e9 [IMP] gamification: force domain to be in unicode
bzr revid: mat@openerp.com-20140418163837-32nldgj5u04q9kyu
2014-04-18 18:38:37 +02:00
Martin Trigaux 4725d6f532 [REF] gamification: remove unused ref local variable
bzr revid: mat@openerp.com-20140418163440-7y1k3sliuk9bgco8
2014-04-18 18:34:40 +02:00
Martin Trigaux 130f572d81 [IMP] gamification: use evaluated version of the domain.
Needs server fix to avoid sending evaluated data.

bzr revid: mat@openerp.com-20140418161053-lc970koh96wfe200
2014-04-18 18:10:53 +02:00
Martin Trigaux a6bcf53bd3 [IMP] gamification: performance improvement in generation method
bzr revid: mat@openerp.com-20140418150618-9g179rleuru44xrt
2014-04-18 17:06:18 +02:00
Martin Trigaux 1b006190d9 [REF] gamification
bzr revid: mat@openerp.com-20140418140741-djesyaxahxytnl1n
2014-04-18 16:07:41 +02:00
Martin Trigaux 067f21ce5a [FIX] gamification: set data in noupdate blocks to allow the user to customise it without loosing changes after update
bzr revid: mat@openerp.com-20140418120846-h8yo4ljult88f1h3
2014-04-18 14:08:46 +02:00
Martin Trigaux 6f4efd45bb [FIX] gamification: change scope of goal_obj variable
bzr revid: mat@openerp.com-20140418090520-zq4r6s4g9qn78mvx
2014-04-18 11:05:20 +02:00
Martin Trigaux d79cbd3fb8 [FIX] gamification: convert autojoin_group_id to a domain representing the list of users
bzr revid: mat@openerp.com-20140416151026-lmvyo8k0wo4hw9gn
2014-04-16 17:10:26 +02:00
Martin Trigaux 668fb8a542 [MERGE] gamification: add batch mode, improve some views, remove inprogess_update state and "realtime" (using cron) badge to recieve badges without needing to close the challenge
bzr revid: mat@openerp.com-20140411154740-pzw0v7po7pmci42l
2014-04-11 17:47:40 +02:00