From 3b854353678093cc7988fc34fea3d2110a6f13ac Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Sun, 21 Feb 2016 04:42:28 +0100 Subject: [PATCH] Fixes in fields --- src/CoreFields/ForeignKeyField.php | 4 ++-- src/CoreFields/ParentField.php | 15 +++++++++++---- src/Forms/SelectModelForm.php | 4 ++-- src/Webmodel.php | 2 +- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/CoreFields/ForeignKeyField.php b/src/CoreFields/ForeignKeyField.php index 344af22..e7da30a 100644 --- a/src/CoreFields/ForeignKeyField.php +++ b/src/CoreFields/ForeignKeyField.php @@ -30,7 +30,7 @@ class ForeignKeyField extends IntegerField{ $this->size=$size; $this->form='PhangoApp\PhaModels\Forms\SelectModelForm'; - $this->related_model=&$related_model; + $this->related_model=$related_model; $this->container_model=$this->related_model->name; //Fields obtained from related_model if you make a query... $this->fields_related_model=array(); @@ -40,7 +40,7 @@ class ForeignKeyField extends IntegerField{ $this->quot_open=''; $this->quot_close=''; $this->protected=0; - $this->parameters=array(&$this->related_model, $name_field, $name_value); + $this->parameters=array($this->related_model, $name_field, $name_value); } diff --git a/src/CoreFields/ParentField.php b/src/CoreFields/ParentField.php index 5a02f6d..fca9e74 100644 --- a/src/CoreFields/ParentField.php +++ b/src/CoreFields/ParentField.php @@ -12,12 +12,13 @@ class ParentField extends IntegerField{ //field related in the model... public $parent_model=''; - function __construct($parent_model, $size=11) + function __construct($size=11, $parent_model, $name_field='', $name_value='') { - $this->parent_model=&$parent_model; + $this->parent_model=$parent_model; $this->size=$size; - $this->form='PhangoApp\PhaModels\Forms\BaseForm'; + $this->form='PhangoApp\PhaModels\Forms\SelectModelForm'; + $this->parameters=array($this->parent_model, $name_field, $name_value); } @@ -28,7 +29,13 @@ class ParentField extends IntegerField{ //Check model - $num_rows=$this->parent_model->select_count('where '.$this->parent_model->idmodel.'='.$value, $this->parent_model->idmodel); + //$old_conditions=$this->parent_model->conditions; + + $this->parent_model->conditions='where '.$this->parent_model->idmodel.'='.$value; + + $num_rows=$this->parent_model->select_count(); + + //$this->parent_model->conditions=$old_conditions; if($num_rows>0) { diff --git a/src/Forms/SelectModelForm.php b/src/Forms/SelectModelForm.php index 85de3fc..0f2f178 100644 --- a/src/Forms/SelectModelForm.php +++ b/src/Forms/SelectModelForm.php @@ -6,7 +6,7 @@ use PhangoApp\PhaModels\Forms\SelectForm; use PhangoApp\PhaModels\Webmodel; /** -* Basic class for create forms +* Basic class for create forms from a model */ class SelectModelForm extends SelectForm{ @@ -26,7 +26,7 @@ class SelectModelForm extends SelectForm{ parent::__construct($name, $value); - $this->model=&$model; + $this->model=$model; $this->field_name=$field_name; diff --git a/src/Webmodel.php b/src/Webmodel.php index 323dc13..604fcdc 100644 --- a/src/Webmodel.php +++ b/src/Webmodel.php @@ -2219,7 +2219,7 @@ class Webmodel { /*$rc=new \ReflectionClass($type); $this->components[$name]=$rc->newInstanceArgs($arguments);*/ - $this->components[$name]=&$type_class; + $this->components[$name]=$type_class; //Set first label... $this->components[$name]->label=Webmodel::set_name_default($name);