Note: you can't change handling of 'needs review' unconditionally: you have to go through this path only when newly entered suggestions are empty.
Btw, a quick 'review' of your changes on http://bazaar.launchpad.net/~adiroiban/launchpad/bug-201749/revision/10467: browser/translationmessage.py 419-420 are unnecessary. That's what .get(something, False) does: defaults to False if it's not found. _checkTranslationConflict should be '_isTranslationConflict' because it returns a boolean.
And the things you are doing with current.potemplate and empty_translation .potemplate and .is_current flags are not going to do much good. The problem is that if there's a diverged translation, any new translation (including the empty one) is going to remain diverged by default.
So, unsetting is_current on empty_translation is probably a very bad idea. Perhaps first take should be to just set .date_reviewed on it to a current.date_reviewed-timedelta(0,1). But, don't forget to keep the current behaviour for 'needs review' flag when you are just adding a suggestion.
Note: you can't change handling of 'needs review' unconditionally: you have to go through this path only when newly entered suggestions are empty.
Btw, a quick 'review' of your changes on http:// bazaar. launchpad. net/~adiroiban/ launchpad/ bug-201749/ revision/ 10467: browser/ translationmess age.py 419-420 are unnecessary. That's what .get(something, False) does: defaults to False if it's not found. _checkTranslati onConflict should be '_isTranslation Conflict' because it returns a boolean.
And the things you are doing with current.potemplate and empty_translation .potemplate and .is_current flags are not going to do much good. The problem is that if there's a diverged translation, any new translation (including the empty one) is going to remain diverged by default.
So, unsetting is_current on empty_translation is probably a very bad idea. Perhaps first take should be to just set .date_reviewed on it to a current. date_reviewed- timedelta( 0,1). But, don't forget to keep the current behaviour for 'needs review' flag when you are just adding a suggestion.