= Ignore Subscriptions = Indirect subscribers to bugs sometimes want to stop receiving mail for that bug. To facilitate that, direct subscriptions will be extended to include a notion of 'ignore' subscriptions, which explicitly mark the user for not receiving mail pertaining to a bug. == User Interface == * On the bug page, next to subscribe / unsubscribe, add a block / unblock this bug option. * If the user is subscribed to the bug, their subscription is converted to ignore. * If the user is not subscribed to the bug, an ignore subscription is created for them. * If and when we have a user subscriptions page, we should allow to view and edit ignore subscriptions from there too. == Schema Changes == * Add a column, BugSubscription.ignore, BOOLEAN, defaults to FALSE. == Code Changes == * Extend IBugSubscription and BugSubscription with the ignore field. * Change Bug.getDirectSubscriptions and Bug.getDirectSubscribers so that they ignore subscriptions with the ignore flag set. * Instead using straight join for Bug.subscriptions, turn it into a property that ignores subscriptions with the ignore flag set. * That should take care of bug privacy too, but make sure. * Add a property Bug.ignore_subscriptions. * Extend Bug.getIndirectSubscribers so that it substracts the set of ignore subscriptions from the the set of indirect subscribers. * Add the action link for block/unblock * Add a confirmation form for blocking / unblocking.