function watchers($siteid, $slug, Request $request, Application $app)
 {
     $this->build($siteid, $slug, $request, $app);
     $uarb = new UserAccountRepositoryBuilder();
     $uarb->setWatchesGroup($this->parameters['group']);
     $this->parameters['watchers'] = $uarb->fetchAll();
     return $app['twig']->render('sysadmin/group/watchers.html.twig', $this->parameters);
 }
 public function markDuplicateWithMetaData(GroupModel $duplicateGroup, GroupModel $originalGroup, GroupEditMetaDataModel $groupEditMetaDataModel)
 {
     global $DB;
     if ($duplicateGroup->getId() == $originalGroup->getId()) {
         return;
     }
     try {
         $DB->beginTransaction();
         $duplicateGroup->setIsDeleted(true);
         $duplicateGroup->setIsDuplicateOfId($originalGroup->getId());
         $this->groupDBAccess->update($duplicateGroup, array('is_deleted', 'is_duplicate_of_id'), $groupEditMetaDataModel);
         // Users Watching Group
         $ufgr = new UserWatchesGroupRepository();
         $usersRepo = new UserAccountRepositoryBuilder();
         $usersRepo->setWatchesGroup($duplicateGroup);
         foreach ($usersRepo->fetchAll() as $user) {
             $ufgr->startUserWatchingGroupIfNotWatchedBefore($user, $originalGroup);
         }
         // Events in Group
         $statCheck = $DB->prepare("SELECT * FROM event_in_group WHERE group_id=:group_id AND " . " event_id=:event_id AND removed_at IS NULL ");
         $statAdd = $DB->prepare("INSERT INTO event_in_group (group_id,event_id,added_by_user_account_id,added_at,addition_approved_at,is_main_group) " . "VALUES (:group_id,:event_id,:added_by_user_account_id,:added_at,:addition_approved_at,:is_main_group)");
         $erb = new EventRepositoryBuilder();
         $erb->setGroup($duplicateGroup);
         foreach ($erb->fetchAll() as $event) {
             // check event not already in list
             $statCheck->execute(array('group_id' => $originalGroup->getId(), 'event_id' => $event->getId()));
             if ($statCheck->rowCount() == 0) {
                 // TODO is_main_group ??????????????????
                 $statAdd->execute(array('group_id' => $originalGroup->getId(), 'event_id' => $event->getId(), 'is_main_group' => 0, 'added_by_user_account_id' => $user ? $user->getId() : null, 'added_at' => \TimeSource::getFormattedForDataBase(), 'addition_approved_at' => \TimeSource::getFormattedForDataBase()));
             }
         }
         $DB->commit();
     } catch (Exception $e) {
         $DB->rollBack();
     }
 }