propagate status from childs in Model::insert, Model::update, Model::remove and Model::save
This commit is contained in:
32
src/model.h
32
src/model.h
@@ -344,10 +344,10 @@ protected:
|
||||
|
||||
virtual ModelData * get_model_data();
|
||||
|
||||
virtual bool insert_tree(bool insert_whole_tree);
|
||||
virtual bool update_tree(bool update_whole_tree);
|
||||
virtual bool remove_tree(bool remove_whole_tree);
|
||||
virtual bool save_tree(bool save_whole_tree);
|
||||
virtual void insert_tree(bool insert_whole_tree);
|
||||
virtual void update_tree(bool update_whole_tree);
|
||||
virtual void remove_tree(bool remove_whole_tree);
|
||||
virtual void save_tree(bool save_whole_tree);
|
||||
|
||||
virtual void map_values_from_query();
|
||||
|
||||
@@ -1146,18 +1146,24 @@ protected:
|
||||
template<typename ModelContainerType>
|
||||
void field_list_iterate_through_childs(ModelContainerType & child_model, const FT & field_type)
|
||||
{
|
||||
ModelEnv model_env_local;
|
||||
model_env_local.copy_global_objects(*model_env);
|
||||
model_env_local.model = &child_model;
|
||||
if( model_env->status )
|
||||
{
|
||||
ModelEnv model_env_local;
|
||||
model_env_local.copy_global_objects(*model_env);
|
||||
model_env_local.model = &child_model;
|
||||
|
||||
child_model.model_env = &model_env_local;
|
||||
child_model.model_env->has_primary_key_set = child_model.has_primary_key_set;
|
||||
child_model.set_connector(model_connector);
|
||||
child_model.table();
|
||||
child_model.model_env = &model_env_local;
|
||||
child_model.model_env->has_primary_key_set = child_model.has_primary_key_set;
|
||||
child_model.set_connector(model_connector);
|
||||
child_model.table();
|
||||
|
||||
field_model_iterate_through_childs(child_model, field_type);
|
||||
field_model_iterate_through_childs(child_model, field_type);
|
||||
|
||||
child_model.model_env = nullptr;
|
||||
if( !model_env_local.status )
|
||||
model_env->status = false;
|
||||
|
||||
child_model.model_env = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user