I'm working on an Invoice creation project in which I want to manage two tables as request_for_quote and request_for_quote_items (item list for given request_for_quote) on single form.
For this I'm trying out following approach::
I want to display two GC-render outputs in a single view:
I have following controller and view, with single GC-output, which is working fine (see attchment1):
<?php $data = array( 'title' => 'Request For Quote' ); ?> <?php $this->load->view('includes/header',$data); ?> <?php $this->load->view('sidebars/sidebar_inventory_purchase'); ?> <div class="content"> <h3>Request For Quote</h3> <div> <?php echo $output; ?> </div> </div><!-- end .content --> <?php $this->load->view('includes/footer'); ?>
<?php function request_for_quote(){ $this->check_logged_in(); $this->load->model('model_global_ops'); $newdb = $this->model_global_ops->getDB(); $this->db = $newdb; $crud = new grocery_CRUD(); $crud->set_table('requestforquote'); $crud->set_subject('RFQ'); $crud->columns('Id','Date','VendorId','Remark'); $crud->fields('Date','VendorId','Remark'); $crud->display_as('VendorId','Vendor'); $crud->field_type('Data','date'); $crud->field_type('Remark','text'); $crud->set_relation('VendorId', 'vendor', '{id}-{name}'); $crud->required_fields('Date','VendorId'); $crud->add_action('Items List', base_url('assets/grocery_crud/themes/flexigrid/css/images/list.png'), 'purchase/request_for_quote_items','',''); $output = $crud->render(); $this->load->view('erp_purchase/request_for_quote',$output); } ?>
Now I'm trying to view two GC-outputs on same page with following page, this is resulting into unformatted output as shown in attachment2:
<?php $data = array( 'title' => 'Request For Quote' ); ?> <?php $this->load->view('includes/header',$data); ?> <?php $this->load->view('sidebars/sidebar_inventory_purchase'); ?> <div class="content"> <?php var_dump($o1->output);?> <h3>Request For Quote</h3> <div> <?php echo $o1->output; ?> </div> <div> <?php echo $o2->output; ?> </div> </div><!-- end .content --> <?php $this->load->view('includes/footer'); ?>
<?php function request_for_quote(){ $this->check_logged_in(); $this->load->model('model_global_ops'); $newdb = $this->model_global_ops->getDB(); $this->db = $newdb; $crud = new grocery_CRUD(); $crud->set_table('requestforquote'); $crud->set_subject('RFQ'); $crud->columns('Id','Date','VendorId','Remark'); $crud->fields('Date','VendorId','Remark'); $crud->display_as('VendorId','Vendor'); $crud->field_type('Data','date'); $crud->field_type('Remark','text'); $crud->set_relation('VendorId', 'vendor', '{id}-{name}'); $crud->required_fields('Date','VendorId'); $crud->add_action('Items List', base_url('assets/grocery_crud/themes/flexigrid/css/images/list.png'), 'purchase/request_for_quote_items','',''); $output = $crud->render(); $out = array('o1'=>$output, 'o2'=>$output); $this->load->view('erp_purchase/request_for_quote',$out); } ?>
Can anybody tell me where is the problem? Is it due to multiple forms, one each in o1 and o2?
I'm planning this for displaying list of Items from request_for_quote in second GC-output. So that, the items in a request_for_quote can be processed on single page.
Is this approach correct? or can anybody suggest other/better approach to handle request_for_quote and request_for_quote_items on same page?