<?php

namespace OfficeBrain\Bundle\OrderBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints as Assert;

class ApiOrderType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('product_id','integer', array('required'=>true,'description'=>''))
            ->add('product_slug','text', array('required'=>true,'description'=>''))
            ->add('culture_product_id','integer', array('required'=>true,'description'=>''))
            ->add('color_attr_id','integer', array('required'=>true,'description'=>''))
            ->add('color','text', array('required'=>true,'description'=>'format:{"id:<colorid>":{"quantity":["<enteredqty>"]},"id:116":{"quantity":["10"]}}'))
            ->add('imprint','text', array('required'=>true,'description'=>'format:{"id:<printPosition_id>":{"imprint_method_id":"4","no_of_color":"1","selected_colors":[{"color_id":"102 C","is_pms":"0"}],"art_work_text":{"active_tab_id":"3","mail_sent":"0","logo":["http:\/\/172.16.120.76\/ob-ecommerce-web-client\/web\/uploads\/art_work\/20151202181552_index.jpeg"],"text":["this is tess","ssdsds"],"email":""}}}'))
            ->add('fax_proof','text', array('required'=>true,'description'=>'{"status":"1","fax_no":""}'))
            ->add('paper_proof','text', array('required'=>true,'description'=>'{"status":"0","email":""}'))
            ->add('product_proof','text', array('required'=>true,'description'=>'{"status":"0"}'))
            ->add('shipping_method','text', array('required'=>true,'description'=>'
            {"shipping_type":"<standard|spit>","shipping_detail" :[{"shipping_from":"shipping_book","selected_address_id":"<selected_contact_id>","color_quantity":{"id:<colorid>":{"quantity" :["<ship enteredqty>"],"actual_quantity":["<top color entered qty>"]},"id:116":{"quantity":["10"],"actual_quantity":["10"]}},"shipping_detail" :{"shipping_carrier":"<ups|fedex>","shipping_charge":"0","shipping_method":"","on_hand_date":"<entered date>","shipper_account" :"<entered ship account>"}}],"quantity_detail":{"id:513":{"quantity":["20"]},"id:116":{"quantity":["10"]}}}
           Array
        	(
            [shipping_type] => <split|standard>
            [shipping_detail] => Array
                (
                    [0] => Array
                        (
                            [shipping_from] => shipping_book
                            [selected_address_id] => <contactbook_id>
                            [color_quantity] => Array
                                (
                                    [id:<colorid>] => Array
                                        (
                                            [quantity] => Array
                                                (
                                                    [<indexing>] => <Shipping-enteredqty>
                                                )

                                            [actual_quantity] => Array
                                                (
                                                    [<indexing>] => <topcolor-enteredqty>
                                                )

                                        )

                                    [id:116] => Array
                                        (
                                            [quantity] => Array
                                                (
                                                    [0] => 5
                                                )

                                            [actual_quantity] => Array
                                                (
                                                    [0] => 5
                                                )

                                        )

                                )

                             [shipping_detail] => Array
                                (
                                    [shipping_carrier] => <fedex|ups>
                                    [shipping_charge] => 0
                                    [shipping_method] => 
                                    [on_hand_date] => 24/11/2015
                                    [shipper_account] => 454787
                                )
                        )

                )

            [quantity_detail] => Array
                (
                    [id:<colorid>] => Array
                        (
                            [quantity] => Array
                                (
                                    [<indexing>] => <topcolor-qty>
                                )

                        )

                    [id:116] => Array
                        (
                            [quantity] => Array
                                (
                                    [0] => 5
                                )

                        )

                )

        )'))
            ->add('special_instruction','text', array('required'=>true,'description'=>''))
            ->add('max_selectable_color','text', array('required'=>true,'description'=>'<no of selected color>'))
            ->add('item_line_id','integer', array('required'=>false,'description'=>''))
        ;
    }
    
    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => null,
        	'csrf_protection'  => false
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return '';
    }
}
