To participate you must create an account on apostrophenow.org. If you have already done so, click Login.

Changeset 1753 for sandboxes

Show
Ignore:
Timestamp:
07/14/10 12:12:43 (19 months ago)
Author:
johnnyoffline
Message:

i have some modified base classes probably from a build all

Location:
sandboxes/asandbox/branches/1.4/lib
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • sandboxes/asandbox/branches/1.4/lib/filter/doctrine/apostrophePlugin/base/BaseaPageFormFilter.class.php

    r1659 r1753  
    2727      'rgt'                   => new sfWidgetFormFilterInput(), 
    2828      'level'                 => new sfWidgetFormFilterInput(), 
     29      'media_categories_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory')), 
    2930      'blog_categories_list'  => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aBlogCategory')), 
    30       'media_categories_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory')), 
    3131    )); 
    3232 
     
    4545      'rgt'                   => new sfValidatorSchemaFilter('text', new sfValidatorInteger(array('required' => false))), 
    4646      'level'                 => new sfValidatorSchemaFilter('text', new sfValidatorInteger(array('required' => false))), 
     47      'media_categories_list' => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory', 'required' => false)), 
    4748      'blog_categories_list'  => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aBlogCategory', 'required' => false)), 
    48       'media_categories_list' => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory', 'required' => false)), 
    4949    )); 
    5050 
     
    5656 
    5757    parent::setup(); 
     58  } 
     59 
     60  public function addMediaCategoriesListColumnQuery(Doctrine_Query $query, $field, $values) 
     61  { 
     62    if (!is_array($values)) 
     63    { 
     64      $values = array($values); 
     65    } 
     66 
     67    if (!count($values)) 
     68    { 
     69      return; 
     70    } 
     71 
     72    $query 
     73      ->leftJoin($query->getRootAlias().'.aMediaPageCategory aMediaPageCategory') 
     74      ->andWhereIn('aMediaPageCategory.media_category_id', $values) 
     75    ; 
    5876  } 
    5977 
     
    7391      ->leftJoin($query->getRootAlias().'.aBlogPageCategory aBlogPageCategory') 
    7492      ->andWhereIn('aBlogPageCategory.blog_category_id', $values) 
    75     ; 
    76   } 
    77  
    78   public function addMediaCategoriesListColumnQuery(Doctrine_Query $query, $field, $values) 
    79   { 
    80     if (!is_array($values)) 
    81     { 
    82       $values = array($values); 
    83     } 
    84  
    85     if (!count($values)) 
    86     { 
    87       return; 
    88     } 
    89  
    90     $query 
    91       ->leftJoin($query->getRootAlias().'.aMediaPageCategory aMediaPageCategory') 
    92       ->andWhereIn('aMediaPageCategory.media_category_id', $values) 
    9393    ; 
    9494  } 
     
    116116      'rgt'                   => 'Number', 
    117117      'level'                 => 'Number', 
     118      'media_categories_list' => 'ManyKey', 
    118119      'blog_categories_list'  => 'ManyKey', 
    119       'media_categories_list' => 'ManyKey', 
    120120    ); 
    121121  } 
  • sandboxes/asandbox/branches/1.4/lib/form/doctrine/apostrophePlugin/base/BaseaPageForm.class.php

    r1659 r1753  
    3030      'rgt'                   => new sfWidgetFormInputText(), 
    3131      'level'                 => new sfWidgetFormInputText(), 
     32      'media_categories_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory')), 
    3233      'blog_categories_list'  => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aBlogCategory')), 
    33       'media_categories_list' => new sfWidgetFormDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory')), 
    3434    )); 
    3535 
     
    4949      'rgt'                   => new sfValidatorInteger(array('required' => false)), 
    5050      'level'                 => new sfValidatorInteger(array('required' => false)), 
     51      'media_categories_list' => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory', 'required' => false)), 
    5152      'blog_categories_list'  => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aBlogCategory', 'required' => false)), 
    52       'media_categories_list' => new sfValidatorDoctrineChoice(array('multiple' => true, 'model' => 'aMediaCategory', 'required' => false)), 
    5353    )); 
    5454 
     
    7171    parent::updateDefaultsFromObject(); 
    7272 
     73    if (isset($this->widgetSchema['media_categories_list'])) 
     74    { 
     75      $this->setDefault('media_categories_list', $this->object->MediaCategories->getPrimaryKeys()); 
     76    } 
     77 
    7378    if (isset($this->widgetSchema['blog_categories_list'])) 
    7479    { 
    7580      $this->setDefault('blog_categories_list', $this->object->BlogCategories->getPrimaryKeys()); 
    76     } 
    77  
    78     if (isset($this->widgetSchema['media_categories_list'])) 
    79     { 
    80       $this->setDefault('media_categories_list', $this->object->MediaCategories->getPrimaryKeys()); 
    8181    } 
    8282 
     
    8585  protected function doSave($con = null) 
    8686  { 
     87    $this->saveMediaCategoriesList($con); 
    8788    $this->saveBlogCategoriesList($con); 
    88     $this->saveMediaCategoriesList($con); 
    8989 
    9090    parent::doSave($con); 
     91  } 
     92 
     93  public function saveMediaCategoriesList($con = null) 
     94  { 
     95    if (!$this->isValid()) 
     96    { 
     97      throw $this->getErrorSchema(); 
     98    } 
     99 
     100    if (!isset($this->widgetSchema['media_categories_list'])) 
     101    { 
     102      // somebody has unset this widget 
     103      return; 
     104    } 
     105 
     106    if (null === $con) 
     107    { 
     108      $con = $this->getConnection(); 
     109    } 
     110 
     111    $existing = $this->object->MediaCategories->getPrimaryKeys(); 
     112    $values = $this->getValue('media_categories_list'); 
     113    if (!is_array($values)) 
     114    { 
     115      $values = array(); 
     116    } 
     117 
     118    $unlink = array_diff($existing, $values); 
     119    if (count($unlink)) 
     120    { 
     121      $this->object->unlink('MediaCategories', array_values($unlink)); 
     122    } 
     123 
     124    $link = array_diff($values, $existing); 
     125    if (count($link)) 
     126    { 
     127      $this->object->link('MediaCategories', array_values($link)); 
     128    } 
    91129  } 
    92130 
     
    129167  } 
    130168 
    131   public function saveMediaCategoriesList($con = null) 
    132   { 
    133     if (!$this->isValid()) 
    134     { 
    135       throw $this->getErrorSchema(); 
    136     } 
    137  
    138     if (!isset($this->widgetSchema['media_categories_list'])) 
    139     { 
    140       // somebody has unset this widget 
    141       return; 
    142     } 
    143  
    144     if (null === $con) 
    145     { 
    146       $con = $this->getConnection(); 
    147     } 
    148  
    149     $existing = $this->object->MediaCategories->getPrimaryKeys(); 
    150     $values = $this->getValue('media_categories_list'); 
    151     if (!is_array($values)) 
    152     { 
    153       $values = array(); 
    154     } 
    155  
    156     $unlink = array_diff($existing, $values); 
    157     if (count($unlink)) 
    158     { 
    159       $this->object->unlink('MediaCategories', array_values($unlink)); 
    160     } 
    161  
    162     $link = array_diff($values, $existing); 
    163     if (count($link)) 
    164     { 
    165       $this->object->link('MediaCategories', array_values($link)); 
    166     } 
    167   } 
    168  
    169169}