Listing & form
- improved Listing in order to make it more DRY - form builder with all field types - added support for data array in ValidModel->set() - updated models to comply with Listing & Form methods
This commit is contained in:
@@ -35,4 +35,28 @@ class Newsletter extends Model {
|
||||
|
||||
static function group($orm, $group = null) {
|
||||
}
|
||||
|
||||
public static function createOrUpdate($data = array()) {
|
||||
$newsletter = false;
|
||||
|
||||
if(isset($data['id']) && (int)$data['id'] > 0) {
|
||||
$newsletter = self::findOne((int)$data['id']);
|
||||
}
|
||||
|
||||
if($newsletter === false) {
|
||||
$newsletter = self::create();
|
||||
$newsletter->hydrate($data);
|
||||
} else {
|
||||
unset($data['id']);
|
||||
$newsletter->set($data);
|
||||
}
|
||||
|
||||
$saved = $newsletter->save();
|
||||
|
||||
if($saved === false) {
|
||||
return $newsletter->getValidationErrors();
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user