Ejemplo n.º 1
0
 /**
  * Sets new metadata.
  * @param $metadata An array of metadata.
  * @param $user The current user.
  */
 public static function setMetadata($className, array $metadata, User $user = null)
 {
     assert('is_string($className) && $className != ""');
     if ($user instanceof User && isset($metadata['perUser'])) {
         try {
             $perUserMetadata = PerUserMetadata::getByClassNameAndUser($className, $user);
         } catch (NotFoundException $e) {
             $perUserMetadata = new PerUserMetadata();
             $perUserMetadata->className = $className;
             $perUserMetadata->user = $user;
         }
         $perUserMetadata->serializedMetadata = serialize($metadata['perUser']);
         $saved = $perUserMetadata->save();
         assert('$saved');
     }
     if (isset($metadata['global'])) {
         try {
             $globalMetadata = GlobalMetadata::getByClassName($className);
         } catch (NotFoundException $e) {
             $globalMetadata = new GlobalMetadata();
             $globalMetadata->className = $className;
         }
         $globalMetadata->serializedMetadata = serialize($metadata['global']);
         $saved = $globalMetadata->save();
         assert('$saved');
     }
 }
 public function testPerUserMetadata()
 {
     $user = UserTestHelper::createBasicUser('Steven');
     $perUserMetadata = new PerUserMetadata();
     $perUserMetadata->className = 'Something';
     $perUserMetadata->user = $user;
     $perUserMetadata->serializedMetadata = serialize(array('doovas', 2));
     $this->assertTrue($perUserMetadata->save());
     unset($perUserMetadata);
     $perUserMetadata = PerUserMetadata::getByClassNameAndUser('Something', $user);
     $this->assertEquals('a:2:{i:0;s:6:"doovas";i:1;i:2;}', $perUserMetadata->serializedMetadata);
 }
Ejemplo n.º 3
0
 public function testRequiredRelatedModel2()
 {
     $perUserMetadata = new PerUserMetadata();
     $this->assertFalse($perUserMetadata->validate());
     $errors = $perUserMetadata->getErrors();
     $this->assertEquals(3, count($errors));
     $this->assertEquals('Class Name cannot be blank.', $errors['className'][0]);
     $this->assertEquals('Serialized Metadata cannot be blank.', $errors['serializedMetadata'][0]);
     $this->assertEquals('Username cannot be blank.', $errors['user']['username'][0]);
     $this->assertEquals('Last Name cannot be blank.', $errors['user']['lastName'][0]);
 }