diff --git a/lib/Alchemy/Phrasea/Model/Entities/User.php b/lib/Alchemy/Phrasea/Model/Entities/User.php index d7c44dfde9..b2a22dd700 100644 --- a/lib/Alchemy/Phrasea/Model/Entities/User.php +++ b/lib/Alchemy/Phrasea/Model/Entities/User.php @@ -261,6 +261,11 @@ class User **/ private $notificationSettings; + /** + * @ORM\Column(type="boolean", name="granted_api", options={"default" = 0}) + */ + private $grantedApi = false; + /** * Constructor */ @@ -1053,6 +1058,26 @@ class User return $this; } + /** + * @return boolean + */ + public function hasGrantedApi() + { + return $this->grantedApi; + } + + /** + * @param boolean $grantedApi + * + * @return User + */ + public function setGrantedApi($grantedApi) + { + $this->grantedApi = (Boolean) $grantedApi; + + return $this; + } + /** * @return boolean */ diff --git a/lib/classes/patch/414PHRAS3555.php b/lib/classes/patch/415PHRAS3555.php similarity index 87% rename from lib/classes/patch/414PHRAS3555.php rename to lib/classes/patch/415PHRAS3555.php index 6288b288a1..131cc73d76 100644 --- a/lib/classes/patch/414PHRAS3555.php +++ b/lib/classes/patch/415PHRAS3555.php @@ -4,10 +4,10 @@ use Alchemy\Phrasea\Application; use Alchemy\Phrasea\Model\Entities\ApiApplication; use Doctrine\ORM\EntityManager; -class patch_414PHRAS3555 implements patchInterface +class patch_415PHRAS3555 implements patchInterface { /** @var string */ - private $release = '4.1.4'; + private $release = '4.1.5'; /** @var array */ private $concern = [base::APPLICATION_BOX, base::DATA_BOX]; @@ -85,6 +85,13 @@ class patch_414PHRAS3555 implements patchInterface foreach ($thirdPartyApplications as $thirdPartyApplication) { $thirdPartyApplication->setListenedEvents($listenedEvents); $em->persist($thirdPartyApplication); + + $creator = $thirdPartyApplication->getCreator(); + if ($creator != null) { + $creator->setGrantedApi(true); + + $em->persist($creator); + } } $em->flush(); diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php index 5bd1144ed7..269fd183bc 100644 --- a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php @@ -64,10 +64,10 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM public function __sleep() { if ($this->__isInitialized__) { - return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings']; + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'grantedApi']; } - return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings']; + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'grantedApi']; } /** @@ -1046,6 +1046,28 @@ class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM return parent::addNotificationSettings($notificationSetting); } + /** + * {@inheritDoc} + */ + public function hasGrantedApi() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasGrantedApi', []); + + return parent::hasGrantedApi(); + } + + /** + * {@inheritDoc} + */ + public function setGrantedApi($grantedApi) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGrantedApi', [$grantedApi]); + + return parent::setGrantedApi($grantedApi); + } + /** * {@inheritDoc} */