public static function generateAcceptLink(erLhcoreClassModelChat $chat)
 {
     $accept = new self();
     $accept->hash = erLhcoreClassModelForgotPassword::randomPassword(40);
     $accept->chat_id = $chat->id;
     $accept->saveThis();
     return $accept->hash;
 }
 public static function addUserDepartmentGroups($userData, $groupsIds)
 {
     $groups = self::getList(array('filter' => array('user_id' => $userData->id)));
     $oldMembers = array();
     foreach ($groups as $group) {
         if (!in_array($group->id, $groupsIds)) {
             $group->removeThis();
         } else {
             $oldMembers[] = $group->id;
         }
     }
     // Save new assignments
     foreach ($groupsIds as $groupId) {
         if (!in_array($groupId, $oldMembers)) {
             $member = new self();
             $member->user_id = $userData->id;
             $member->dep_group_id = $groupId;
             $member->saveThis();
         }
     }
     if (isset($_SESSION['lhCacheUserDepartaments_' . $userData->id])) {
         unset($_SESSION['lhCacheUserDepartaments_' . $userData->id]);
     }
 }