public function executeProcessNewOrgForm(sfWebRequest $request) { $f = $request->getParameter("organization"); $p = Doctrine::getTable('Principal')->findOneByFedid($this->getUser()->getUsername()); $o = new Organization(); $o->setName($f["name"]); $o->setDescription($f["description"]); $o->setCreatedAt(date('Y-m-d H:i:s')); $o->save(); $op = new OrganizationPrincipal(); $op->setOrganization($o); $op->setPrincipal($p); $op->save(); $i = new Invitation(); $i->setEmail($p->getEmail()); $i->setOrganization($o); $i->setUuid('1'); $i->setCreatedAt(date('Y-m-d H:i:s')); $i->setAcceptAt(date('Y-m-d H:i:s')); $i->setCounter(1); $i->setInviter($p); $i->setPrincipal($p); $i->setStatus("accepted"); $i->save(); $r = new Role(); $r->setName($f["role_name"]); $r->setOrganization($o); $r->setShoworder(0); $r->save(); $o->setDefaultRoleId($r->getId()); $o->save(); $this->redirect("show/index?id=" . $o->getId()); }
// only admins can create orgs if_is_admin(function () use($app) { try { $params = json_decode($app->request()->getBody(), true); // check if organization id already exists if (OrganizationQuery::create()->findPk($params['id'])) { error('id-already-exists', 'Sorry, there is already an organization with that id.'); return; } $org = new Organization(); $org->setId(strtolower($params['id'])); $org->setName($params['name']); if (isset($params['default_theme'])) { $org->setDefaultTheme($params['default_theme']); } $org->setCreatedAt(time()); $org->save(); ok(); } catch (Exception $e) { error('io-error', $e->getMessage()); } }); }); /* * change organization */ $app->put('/organizations/:id', function ($org_id) use($app) { if_is_admin(function () use($app, $org_id) { $org = OrganizationQuery::create()->findPk($org_id); if ($org) { $params = json_decode($app->request()->getBody(), true);