PageRenderTime 47ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/dmCorePlugin/test/project/lib/form/doctrine/dmUserPlugin/base/BaseDmGroupForm.class.php

https://github.com/streetmedic/diem
PHP | 495 lines | 381 code | 80 blank | 34 comment | 69 complexity | 3e1836bd32118a76bdc5f070affb5ba7 MD5 | raw file
Possible License(s): ISC, BSD-3-Clause, MIT
  1. <?php
  2. /**
  3. * DmGroup form base class.
  4. *
  5. * @method DmGroup getObject() Returns the current form's model object
  6. *
  7. * @package retest
  8. * @subpackage form
  9. * @author Your name here
  10. * @version SVN: $Id$
  11. * @generator Diem 5.4.0-DEV
  12. */
  13. abstract class BaseDmGroupForm extends BaseFormDoctrine
  14. {
  15. public function setup()
  16. {
  17. parent::setup();
  18. //column
  19. if($this->needsWidget('id')){
  20. $this->setWidget('id', new sfWidgetFormInputHidden());
  21. $this->setValidator('id', new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)));
  22. }
  23. //column
  24. if($this->needsWidget('name')){
  25. $this->setWidget('name', new sfWidgetFormInputText());
  26. $this->setValidator('name', new sfValidatorString(array('max_length' => 255, 'required' => false)));
  27. }
  28. //column
  29. if($this->needsWidget('description')){
  30. $this->setWidget('description', new sfWidgetFormTextarea());
  31. $this->setValidator('description', new sfValidatorString(array('max_length' => 1000, 'required' => false)));
  32. }
  33. //column
  34. if($this->needsWidget('created_at')){
  35. $this->setWidget('created_at', new sfWidgetFormDateTime());
  36. $this->setValidator('created_at', new sfValidatorDateTime());
  37. }
  38. //column
  39. if($this->needsWidget('updated_at')){
  40. $this->setWidget('updated_at', new sfWidgetFormDateTime());
  41. $this->setValidator('updated_at', new sfValidatorDateTime());
  42. }
  43. //many to many
  44. if($this->needsWidget('users_list')){
  45. $this->setWidget('users_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmUser', 'expanded' => true)));
  46. $this->setValidator('users_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmUser', 'required' => false)));
  47. }
  48. //many to many
  49. if($this->needsWidget('permissions_list')){
  50. $this->setWidget('permissions_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmPermission', 'expanded' => true)));
  51. $this->setValidator('permissions_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmPermission', 'required' => false)));
  52. }
  53. //many to many
  54. if($this->needsWidget('records_list')){
  55. $this->setWidget('records_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermission', 'expanded' => true)));
  56. $this->setValidator('records_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermission', 'required' => false)));
  57. }
  58. //many to many
  59. if($this->needsWidget('records_permissions_associations_list')){
  60. $this->setWidget('records_permissions_associations_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionAssociation', 'expanded' => true)));
  61. $this->setValidator('records_permissions_associations_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionAssociation', 'required' => false)));
  62. }
  63. //one to many
  64. if($this->needsWidget('dm_user_group_list')){
  65. $this->setWidget('dm_user_group_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmUserGroup', 'expanded' => true)));
  66. $this->setValidator('dm_user_group_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmUserGroup', 'required' => false)));
  67. }
  68. //one to many
  69. if($this->needsWidget('dm_group_permission_list')){
  70. $this->setWidget('dm_group_permission_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmGroupPermission', 'expanded' => true)));
  71. $this->setValidator('dm_group_permission_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmGroupPermission', 'required' => false)));
  72. }
  73. //one to many
  74. if($this->needsWidget('dm_record_permission_group_list')){
  75. $this->setWidget('dm_record_permission_group_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionGroup', 'expanded' => true)));
  76. $this->setValidator('dm_record_permission_group_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionGroup', 'required' => false)));
  77. }
  78. //one to many
  79. if($this->needsWidget('dm_record_permission_association_group_list')){
  80. $this->setWidget('dm_record_permission_association_group_list', new sfWidgetFormDmPaginatedDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionAssociationGroup', 'expanded' => true)));
  81. $this->setValidator('dm_record_permission_association_group_list', new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'DmRecordPermissionAssociationGroup', 'required' => false)));
  82. }
  83. $this->validatorSchema->setPostValidator(
  84. new sfValidatorDoctrineUnique(array('model' => 'DmGroup', 'column' => array('name')))
  85. );
  86. $this->widgetSchema->setNameFormat('dm_group[%s]');
  87. $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
  88. $this->setupInheritance();
  89. parent::setup();
  90. // Unset automatic fields like 'created_at', 'updated_at', 'position'
  91. // override this method in your form to keep them
  92. parent::unsetAutoFields();
  93. }
  94. protected function doBind(array $values)
  95. {
  96. parent::doBind($values);
  97. }
  98. public function processValues($values)
  99. {
  100. $values = parent::processValues($values);
  101. return $values;
  102. }
  103. protected function doUpdateObject($values)
  104. {
  105. parent::doUpdateObject($values);
  106. }
  107. public function getModelName()
  108. {
  109. return 'DmGroup';
  110. }
  111. public function updateDefaultsFromObject()
  112. {
  113. parent::updateDefaultsFromObject();
  114. if (isset($this->widgetSchema['users_list']))
  115. {
  116. $this->setDefault('users_list', array_merge((array)$this->getDefault('users_list'),$this->object->Users->getPrimaryKeys()));
  117. }
  118. if (isset($this->widgetSchema['permissions_list']))
  119. {
  120. $this->setDefault('permissions_list', array_merge((array)$this->getDefault('permissions_list'),$this->object->Permissions->getPrimaryKeys()));
  121. }
  122. if (isset($this->widgetSchema['records_list']))
  123. {
  124. $this->setDefault('records_list', array_merge((array)$this->getDefault('records_list'),$this->object->Records->getPrimaryKeys()));
  125. }
  126. if (isset($this->widgetSchema['records_permissions_associations_list']))
  127. {
  128. $this->setDefault('records_permissions_associations_list', array_merge((array)$this->getDefault('records_permissions_associations_list'),$this->object->RecordsPermissionsAssociations->getPrimaryKeys()));
  129. }
  130. if (isset($this->widgetSchema['dm_user_group_list']))
  131. {
  132. $this->setDefault('dm_user_group_list', array_merge((array)$this->getDefault('dm_user_group_list'),$this->object->DmUserGroup->getPrimaryKeys()));
  133. }
  134. if (isset($this->widgetSchema['dm_group_permission_list']))
  135. {
  136. $this->setDefault('dm_group_permission_list', array_merge((array)$this->getDefault('dm_group_permission_list'),$this->object->DmGroupPermission->getPrimaryKeys()));
  137. }
  138. if (isset($this->widgetSchema['dm_record_permission_group_list']))
  139. {
  140. $this->setDefault('dm_record_permission_group_list', array_merge((array)$this->getDefault('dm_record_permission_group_list'),$this->object->DmRecordPermissionGroup->getPrimaryKeys()));
  141. }
  142. if (isset($this->widgetSchema['dm_record_permission_association_group_list']))
  143. {
  144. $this->setDefault('dm_record_permission_association_group_list', array_merge((array)$this->getDefault('dm_record_permission_association_group_list'),$this->object->DmRecordPermissionAssociationGroup->getPrimaryKeys()));
  145. }
  146. }
  147. protected function doSave($con = null)
  148. {
  149. $this->saveUsersList($con);
  150. $this->savePermissionsList($con);
  151. $this->saveRecordsList($con);
  152. $this->saveRecordsPermissionsAssociationsList($con);
  153. $this->saveDmUserGroupList($con);
  154. $this->saveDmGroupPermissionList($con);
  155. $this->saveDmRecordPermissionGroupList($con);
  156. $this->saveDmRecordPermissionAssociationGroupList($con);
  157. parent::doSave($con);
  158. }
  159. public function saveUsersList($con = null)
  160. {
  161. if (!$this->isValid())
  162. {
  163. throw $this->getErrorSchema();
  164. }
  165. if (!isset($this->widgetSchema['users_list']))
  166. {
  167. // somebody has unset this widget
  168. return;
  169. }
  170. if (null === $con)
  171. {
  172. $con = $this->getConnection();
  173. }
  174. $existing = $this->object->Users->getPrimaryKeys();
  175. $values = $this->getValue('users_list');
  176. if (!is_array($values))
  177. {
  178. $values = array();
  179. }
  180. $unlink = array_diff($existing, $values);
  181. if (count($unlink))
  182. {
  183. $this->object->unlink('Users', array_values($unlink));
  184. }
  185. $link = array_diff($values, $existing);
  186. if (count($link))
  187. {
  188. $this->object->link('Users', array_values($link));
  189. }
  190. }
  191. public function savePermissionsList($con = null)
  192. {
  193. if (!$this->isValid())
  194. {
  195. throw $this->getErrorSchema();
  196. }
  197. if (!isset($this->widgetSchema['permissions_list']))
  198. {
  199. // somebody has unset this widget
  200. return;
  201. }
  202. if (null === $con)
  203. {
  204. $con = $this->getConnection();
  205. }
  206. $existing = $this->object->Permissions->getPrimaryKeys();
  207. $values = $this->getValue('permissions_list');
  208. if (!is_array($values))
  209. {
  210. $values = array();
  211. }
  212. $unlink = array_diff($existing, $values);
  213. if (count($unlink))
  214. {
  215. $this->object->unlink('Permissions', array_values($unlink));
  216. }
  217. $link = array_diff($values, $existing);
  218. if (count($link))
  219. {
  220. $this->object->link('Permissions', array_values($link));
  221. }
  222. }
  223. public function saveRecordsList($con = null)
  224. {
  225. if (!$this->isValid())
  226. {
  227. throw $this->getErrorSchema();
  228. }
  229. if (!isset($this->widgetSchema['records_list']))
  230. {
  231. // somebody has unset this widget
  232. return;
  233. }
  234. if (null === $con)
  235. {
  236. $con = $this->getConnection();
  237. }
  238. $existing = $this->object->Records->getPrimaryKeys();
  239. $values = $this->getValue('records_list');
  240. if (!is_array($values))
  241. {
  242. $values = array();
  243. }
  244. $unlink = array_diff($existing, $values);
  245. if (count($unlink))
  246. {
  247. $this->object->unlink('Records', array_values($unlink));
  248. }
  249. $link = array_diff($values, $existing);
  250. if (count($link))
  251. {
  252. $this->object->link('Records', array_values($link));
  253. }
  254. }
  255. public function saveRecordsPermissionsAssociationsList($con = null)
  256. {
  257. if (!$this->isValid())
  258. {
  259. throw $this->getErrorSchema();
  260. }
  261. if (!isset($this->widgetSchema['records_permissions_associations_list']))
  262. {
  263. // somebody has unset this widget
  264. return;
  265. }
  266. if (null === $con)
  267. {
  268. $con = $this->getConnection();
  269. }
  270. $existing = $this->object->RecordsPermissionsAssociations->getPrimaryKeys();
  271. $values = $this->getValue('records_permissions_associations_list');
  272. if (!is_array($values))
  273. {
  274. $values = array();
  275. }
  276. $unlink = array_diff($existing, $values);
  277. if (count($unlink))
  278. {
  279. $this->object->unlink('RecordsPermissionsAssociations', array_values($unlink));
  280. }
  281. $link = array_diff($values, $existing);
  282. if (count($link))
  283. {
  284. $this->object->link('RecordsPermissionsAssociations', array_values($link));
  285. }
  286. }
  287. public function saveDmUserGroupList($con = null)
  288. {
  289. if (!$this->isValid())
  290. {
  291. throw $this->getErrorSchema();
  292. }
  293. if (!isset($this->widgetSchema['dm_user_group_list']))
  294. {
  295. // somebody has unset this widget
  296. return;
  297. }
  298. if (null === $con)
  299. {
  300. $con = $this->getConnection();
  301. }
  302. $existing = $this->object->DmUserGroup->getPrimaryKeys();
  303. $values = $this->getValue('dm_user_group_list');
  304. if (!is_array($values))
  305. {
  306. $values = array();
  307. }
  308. $unlink = array_diff($existing, $values);
  309. if (count($unlink))
  310. {
  311. $this->object->unlink('DmUserGroup', array_values($unlink));
  312. }
  313. $link = array_diff($values, $existing);
  314. if (count($link))
  315. {
  316. $this->object->link('DmUserGroup', array_values($link));
  317. }
  318. }
  319. public function saveDmGroupPermissionList($con = null)
  320. {
  321. if (!$this->isValid())
  322. {
  323. throw $this->getErrorSchema();
  324. }
  325. if (!isset($this->widgetSchema['dm_group_permission_list']))
  326. {
  327. // somebody has unset this widget
  328. return;
  329. }
  330. if (null === $con)
  331. {
  332. $con = $this->getConnection();
  333. }
  334. $existing = $this->object->DmGroupPermission->getPrimaryKeys();
  335. $values = $this->getValue('dm_group_permission_list');
  336. if (!is_array($values))
  337. {
  338. $values = array();
  339. }
  340. $unlink = array_diff($existing, $values);
  341. if (count($unlink))
  342. {
  343. $this->object->unlink('DmGroupPermission', array_values($unlink));
  344. }
  345. $link = array_diff($values, $existing);
  346. if (count($link))
  347. {
  348. $this->object->link('DmGroupPermission', array_values($link));
  349. }
  350. }
  351. public function saveDmRecordPermissionGroupList($con = null)
  352. {
  353. if (!$this->isValid())
  354. {
  355. throw $this->getErrorSchema();
  356. }
  357. if (!isset($this->widgetSchema['dm_record_permission_group_list']))
  358. {
  359. // somebody has unset this widget
  360. return;
  361. }
  362. if (null === $con)
  363. {
  364. $con = $this->getConnection();
  365. }
  366. $existing = $this->object->DmRecordPermissionGroup->getPrimaryKeys();
  367. $values = $this->getValue('dm_record_permission_group_list');
  368. if (!is_array($values))
  369. {
  370. $values = array();
  371. }
  372. $unlink = array_diff($existing, $values);
  373. if (count($unlink))
  374. {
  375. $this->object->unlink('DmRecordPermissionGroup', array_values($unlink));
  376. }
  377. $link = array_diff($values, $existing);
  378. if (count($link))
  379. {
  380. $this->object->link('DmRecordPermissionGroup', array_values($link));
  381. }
  382. }
  383. public function saveDmRecordPermissionAssociationGroupList($con = null)
  384. {
  385. if (!$this->isValid())
  386. {
  387. throw $this->getErrorSchema();
  388. }
  389. if (!isset($this->widgetSchema['dm_record_permission_association_group_list']))
  390. {
  391. // somebody has unset this widget
  392. return;
  393. }
  394. if (null === $con)
  395. {
  396. $con = $this->getConnection();
  397. }
  398. $existing = $this->object->DmRecordPermissionAssociationGroup->getPrimaryKeys();
  399. $values = $this->getValue('dm_record_permission_association_group_list');
  400. if (!is_array($values))
  401. {
  402. $values = array();
  403. }
  404. $unlink = array_diff($existing, $values);
  405. if (count($unlink))
  406. {
  407. $this->object->unlink('DmRecordPermissionAssociationGroup', array_values($unlink));
  408. }
  409. $link = array_diff($values, $existing);
  410. if (count($link))
  411. {
  412. $this->object->link('DmRecordPermissionAssociationGroup', array_values($link));
  413. }
  414. }
  415. }