예제 #1
0
 function save_groups($post_data, $parent, $key = '')
 {
     $groups = array();
     $group_count = count($post_data[$key . 'group_number']);
     $j = 0;
     for ($i = 0; $i < $group_count; ++$i) {
         if ($post_data[$key . 'deleted'][$i] == 1) {
             $this->mark_deleted($post_data[$key . 'id'][$i]);
         } else {
             $product_quote_group = new AOS_Line_Item_Groups();
             foreach ($this->field_defs as $field_def) {
                 if (isset($post_data[$key . $field_def['name']][$i])) {
                     $product_quote_group->{$field_def}['name'] = $post_data[$key . $field_def['name']][$i];
                 }
             }
             $product_quote_group->number = ++$j;
             $product_quote_group->assigned_user_id = $parent->assigned_user_id;
             $product_quote_group->currency_id = $parent->currency_id;
             $product_quote_group->parent_id = $parent->id;
             $product_quote_group->parent_type = $parent->object_name;
             $product_quote_group->save();
             if (isset($post_data[$key . 'group_number'][$i])) {
                 $groups[$post_data[$key . 'group_number'][$i]] = $product_quote_group->id;
             }
         }
     }
     require_once 'modules/AOS_Products_Quotes/AOS_Products_Quotes.php';
     $productQuote = new AOS_Products_Quotes();
     $productQuote->save_lines($post_data, $parent, $groups, 'product_');
     $productQuote->save_lines($post_data, $parent, $groups, 'service_');
 }
 public function testsave_lines()
 {
     error_reporting(E_ERROR | E_PARSE);
     $aosProductsQuotes = new AOS_Products_Quotes();
     //populate required values
     $post_data = array();
     $post_data['name'] = array('test1', 'test2');
     $post_data['group_number'] = array('1', '2');
     $post_data['product_id'] = array('1', '1');
     $post_data['product_unit_price'] = array(100, 200);
     //create parent bean
     $aosQuote = new AOS_Quotes();
     $aosQuote->id = 1;
     $aosProductsQuotes->save_lines($post_data, $aosQuote);
     //get the linked beans and verify if records created
     $product_quote_lines = $aosQuote->get_linked_beans('aos_products_quotes', $aosQuote->object_name);
     $this->assertEquals(count($post_data['name']), count($product_quote_lines));
 }