public function remove_label(local_mail_label $label)
 {
     global $DB;
     assert($this->has_user($label->userid()));
     assert(!$this->draft or $this->role[$label->userid()] == 'from');
     assert(!$this->deleted($label->userid()));
     if (isset($this->labels[$label->id()])) {
         $transaction = $DB->start_delegated_transaction();
         $conditions = array('messageid' => $this->id, 'labelid' => $label->id());
         $DB->delete_records('local_mail_message_labels', $conditions);
         $this->delete_index($label->userid(), 'label', $label->id());
         $transaction->allow_commit();
         unset($this->labels[$label->id()]);
     }
 }
 public static function assertLabel(local_mail_label $label)
 {
     self::assertRecords('labels', array('id' => $label->id(), 'userid' => $label->userid(), 'name' => $label->name(), 'color' => $label->color()));
 }