示例#1
0
文件: Upload.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     // Define fields
     $meta->fields(array('id' => Jam::field('primary'), 'file' => Jam::field('upload', array('server' => 'test_local')), 'file2' => Jam::field('upload', array('server' => 'test_local', 'path' => 'test/:model/:model:id'))));
 }
示例#2
0
文件: Alias.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     // All fields are aliased to different columns
     $meta->fields(array('id' => Jam::field('primary', array('column' => 'id-alias')), 'name' => Jam::field('string', array('column' => 'name-alias')), 'description' => Jam::field('string', array('column' => 'description-alias'))));
 }
示例#3
0
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING);
     parent::initialize($meta);
     $meta->behaviors(['username' => Jam::behavior('username')]);
     $meta->associations(array('user_tokens' => Jam::association('hasmany', array('foreign_model' => 'test_user_token', 'foreign_key' => 'test_user_id')), 'roles' => Jam::association('manytomany', array('foreign_model' => 'test_role', 'join_table' => 'test_roles_users', 'foreign_key' => 'test_role_id', 'association_foreign_key' => 'test_user_id'))));
 }
示例#4
0
文件: Position.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     // Define fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'model' => Jam::field('polymorphic')));
 }
示例#5
0
文件: Author.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_post' => Jam::association('hasone', array('inverse_of' => 'test_author')), 'test_posts' => Jam::association('hasmany'), 'test_blogs_owned' => Jam::association('hasmany', array('foreign_model' => 'test_blog', 'foreign_key' => 'test_owner_id')), 'test_categories' => Jam::association('hasmany'), 'test_position' => Jam::association('belongsto'), 'permission' => Jam::association('belongsto', array('foreign_model' => 'test_position', 'foreign_key' => 'test_position_id'))));
     // Define fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'password' => Jam::field('password'), 'email' => Jam::field('string')));
 }
示例#6
0
文件: Image.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_holder' => Jam::association('belongsto', array('polymorphic' => TRUE)), 'test_copyright' => Jam::association('hasone', array('dependent' => Jam_Association::ERASE)), 'test_copyrights' => Jam::association('hasmany', array('dependent' => Jam_Association::ERASE))));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'file' => Jam::field('upload', array('delete_file' => TRUE))));
 }
示例#7
0
文件: Copyright.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_image' => Jam::association('belongsto', array('dependent' => Jam_Association::DELETE))));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string')));
 }
示例#8
0
文件: Blog.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_owner' => Jam::association('belongsto', array('foreign_model' => 'test_author', 'foreign_key' => 'test_owner_id')), 'test_featured_category' => Jam::association('hasone', array('foreign_model' => 'test_category')), 'test_posts' => Jam::association('hasmany', array('inverse_of' => 'test_blog', 'count_cache' => TRUE, 'dependent' => Jam_Association::DELETE)), 'test_categories' => Jam::association('hasmany', array('required' => TRUE, 'inverse_of' => 'test_blog')), 'test_tags' => Jam::association('manytomany', array())));
     // Define fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'url' => Jam::field('weblink'), 'test_posts_count' => Jam::field('integer')));
 }
示例#9
0
文件: Tag.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_post' => Jam::association('belongsto', array('conditions' => array('where' => array('test_post._approved_by', 'IS', NULL)), 'counter_cache' => TRUE, 'touch' => 'updated')), 'test_blogs' => Jam::association('manytomany', array('join_table' => 'test_blogs_test_tags'))));
     $meta->behaviors(array('sluggable' => Jam::behavior('sluggable', array('uses_primary_key' => FALSE, 'unique' => TRUE, 'slug' => 'Model_Test_Tag::_slug'))));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string')));
 }
示例#10
0
文件: Category.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->behaviors(array('nested' => Jam::behavior('nested')));
     $meta->associations(array('test_blog' => Jam::association('belongsto', array('inverse_of' => 'test_categories')), 'test_posts' => Jam::association('manytomany'), 'test_author' => Jam::association('belongsto')));
     // Define fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'is_featured' => Jam::field('boolean')));
 }
示例#11
0
文件: Element.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->associations(array('test_author' => Jam::association('belongsto')));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'url' => Jam::field('string'), 'email' => Jam::field('string'), 'description' => Jam::field('string'), 'amount' => Jam::field('integer')));
     $meta->validator('name', array('present' => TRUE))->validator('name', 'email', 'url', array('count' => array('minimum' => 2)))->validator('email', array('format' => array('filter' => FILTER_VALIDATE_EMAIL)))->validator('url', array('format' => array('filter' => FILTER_VALIDATE_URL)))->validator('amount', array('numeric' => array('greater_than' => 10, 'less_than' => 100)))->validator('description', array('length' => array('between' => array(10, 1000))))->validator('name', array('format' => array('filter' => FILTER_VALIDATE_IP), 'if' => 'name_is_ip'))->validator('name', array('length' => array('minimum' => 2)));
     $meta->with_options(array('unless' => 'name_is_normal()'))->validator('name', array('format' => array('filter' => FILTER_VALIDATE_EMAIL)));
 }
示例#12
0
文件: Video.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     $meta->name_key('file');
     $meta->behaviors(array('paranoid' => Jam::behavior('paranoid', array('field' => 'deleted')), 'sortable' => Jam::behavior('sortable', array('field' => 'position', 'scope' => 'group')), 'sluggable' => Jam::behavior('sluggable', array('auto_save' => TRUE)), 'tokenable' => Jam::behavior('tokenable', array('uppercase' => TRUE))));
     $meta->associations(array('test_holder' => Jam::association('belongsto', array('polymorphic' => 'test_holder_type'))));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'file' => Jam::field('string'), 'group' => Jam::field('string')));
     $meta->validator('file', array('length' => array('minimum' => 4)));
 }
示例#13
0
文件: Post.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     // Set database to connect to
     $meta->db(Kohana::TESTING);
     // Posts always load_with an author
     //$meta->load_with(array('test_author'));
     $meta->name_key('name');
     $meta->associations(array('test_blog' => Jam::association('belongsto', array('inverse_of' => 'test_posts')), 'test_author' => Jam::association('belongsto', array()), 'test_tags' => Jam::association('hasmany', array('inverse_of' => 'test_post')), 'approved_by' => Jam::association('belongsto', array('foreign_model' => 'test_author', 'foreign_key' => '_approved_by')), 'test_images' => Jam::association('hasmany', array('as' => 'test_holder', 'dependent' => Jam_Association::DELETE)), 'test_cover_image' => Jam::association('hasone', array('as' => 'test_holder', 'foreign_model' => 'test_image', 'dependent' => Jam_Association::DELETE)), 'test_categories' => Jam::association('manytomany')));
     // Set fields
     $meta->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'slug' => Jam::field('slug', array('unique' => TRUE)), 'status' => Jam::field('string', array()), 'created' => Jam::field('timestamp', array('auto_now_create' => TRUE)), 'updated' => Jam::field('timestamp', array('auto_now_update' => TRUE))));
     // Set some custom validators
     $meta->validator('name', array('present' => TRUE, 'if' => 'slug'));
 }
示例#14
0
文件: MetaTest.php 项目: Konro1/pms
 /**
  * Tests various properties on a meta object.
  */
 public function test_properties()
 {
     $fields = array('id' => new Jam_Field_Primary(), 'id2' => new Jam_Field_Primary(), 'name' => new Jam_Field_String());
     $meta = new Jam_Meta('foo');
     $meta->db('foo')->table('foo')->fields($fields)->sorting(array('foo' => 'bar'))->primary_key('id2')->name_key('name')->foreign_key('meta_fk')->behaviors(array(new Jam_Behavior_Test()))->finalize('meta');
     // Ensure the simple properties are preserved
     $expected = array('initialized' => TRUE, 'db' => 'foo', 'table' => 'foo', 'model' => 'meta', 'primary_key' => 'id2', 'name_key' => 'name', 'foreign_key' => 'meta_fk', 'sorting' => array('foo' => 'bar'));
     foreach ($expected as $property => $value) {
         $this->assertSame($meta->{$property}(), $value);
     }
     // Ensure we can retrieve fields properly
     $this->assertSame($meta->field('id2')->name, 'id2');
     // Ensure all fields match
     $this->assertSame($meta->fields(), $fields);
     // Ensure defaults are set properly
     $this->assertSame($meta->defaults(), array('id' => NULL, 'id2' => NULL, 'name' => ''));
     foreach ($meta->behaviors() as $behavior) {
         // Ensure Behaviors return actual objects
         $this->assertTrue($behavior instanceof Jam_Behavior);
     }
 }
示例#15
0
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING)->behaviors(array('nested' => Jam::behavior('nested')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string')))->validator('name', array('length' => array('minimum' => 4)))->validator('name', array('present' => TRUE));
 }
示例#16
0
文件: Role.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING);
     parent::initialize($meta);
     $meta->associations(array('users' => Jam::association('manytomany', array('foreign_model' => 'test_user', 'join_table' => 'test_roles_users', 'foreign_key' => 'test_user_id', 'foreign_association_key' => 'test_role_id'))));
 }
示例#17
0
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING)->associations(array('cities' => Jam::association('hasmany')))->fields(array('id' => Jam::field('primary'), 'file' => Jam::field('string')))->validator('name', array('length' => array('minimum' => 4)))->validator('name', array('present' => TRUE));
 }
示例#18
0
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING)->associations(array('country' => Jam::association('belongsto')))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string'), 'population' => Jam::field('integer'), 'lat' => Jam::field('float'), 'lon' => Jam::field('float'), 'is_big' => Jam::field('boolean'), 'has_service' => Jam::field('boolean'), 'data' => Jam::field('serialized'), 'description' => Jam::field('text'), 'cover' => Jam::field('upload', array('server' => 'local')), 'url' => Jam::field('weblink'), 'created_at' => Jam::field('timestamp')))->validator('name', array('length' => array('minimum' => 4)))->validator('name', 'city', array('present' => TRUE));
 }
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING);
     $meta->behaviors(array('closuretable' => Jam::behavior('closuretable', array('children_dependent' => Jam_Association::DELETE))))->fields(array('id' => Jam::field('primary'), 'name' => Jam::field('string')));
 }
示例#20
0
文件: Token.php 项目: Konro1/pms
 public static function initialize(Jam_Meta $meta)
 {
     $meta->db(Kohana::TESTING);
     parent::initialize($meta);
     $meta->associations(array('user' => Jam::association('belongsto', array('foreign_model' => 'test_user', 'foreign_key' => 'test_user_id'))));
 }