/**
  * SosaConfig@computePartial
  */
 public function computePartial()
 {
     global $WT_TREE;
     $controller = new AjaxController();
     $controller->restrictAccess($this->canUpdate());
     $view_bag = new ViewBag();
     $view_bag->set('is_success', false);
     $user = User::find(Filter::getInteger('userid', -1));
     $indi = Individual::getInstance(Filter::get('pid', WT_REGEX_XREF), $WT_TREE);
     if ($user && $indi) {
         $calculator = new SosaCalculator($WT_TREE, $user);
         if ($calculator->computeFromIndividual($indi)) {
             $view_bag->set('is_success', true);
         }
     } else {
         $view_bag->set('error', I18N::translate('Non existing individual'));
     }
     ViewFactory::make('SosaComputeResult', $this, $controller, $view_bag)->render();
 }
 /**
  * SosaList@sosalist
  */
 public function sosalist()
 {
     $type = Filter::get('type', 'indi|fam', null);
     $controller = new AjaxController();
     $controller->restrictAccess($this->generation > 0 || !is_null($type));
     switch ($type) {
         case 'indi':
             $this->renderSosaListIndi($controller);
             break;
         case 'fam':
             $this->renderFamSosaListIndi($controller);
             break;
         default:
             break;
     }
 }
 /**
  * AdminConfig@generateToken
  *
  * Ajax call to generate a new token. Display the token, if generated.
  * Tokens call only be generated by a site administrator.
  *
  */
 public function generateToken()
 {
     $controller = new AjaxController();
     $controller->restrictAccess(Auth::isAdmin());
     $token = Functions::generateRandomToken();
     $this->module->setSetting('MAJ_AT_FORCE_EXEC_TOKEN', $token);
     Log::addConfigurationLog($this->module->getTitle() . ' : New token generated.');
     $controller->pageHeader();
     echo $token;
 }