Part of lp.bugs.model
|Function||bugtask_sort_key||A sort key for a set of bugtasks. We want:|
|Function||bug_target_from_key||Returns the IBugTarget defined by the given DB column values.|
|Function||bug_target_to_key||Returns the DB column values for an IBugTarget.|
|Function||BugTaskToBugAdapter||Adapt an IBugTask to an IBug.|
|Class||PassthroughValue||A wrapper to allow setting values on conjoined bug tasks.|
|Function||validate_target||Validate a bugtask target against a bug's existing tasks.|
|Function||validate_new_target||Validate a bugtask target to be added.|
A sort key for a set of bugtasks. We want:
Checks that no conflicting tasks already exist.
If the target is a source package, we need to check that it has been published in the distribution since we don't trust the vocabulary to enforce this. However, when using the UI, this check is done during the validation stage of form submission and we don't want to do it again since it uses an expensive query. So 'check_source_package' can be set to False.
Make sure that the isn't already a distribution task without a source package, or that such task is added only when the bug doesn't already have any tasks for the distribution.
The same checks as
validate_target does are also done.