<?php

namespace OfficeBrain\CustomBundle\RequestQuoteBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use OfficeBrain\Bundle\CoreBundle\CustomeHandler as FormErrorManager;
use OfficeBrain\Bundle\RequestQuoteBundle\Form\RequestQuoteCommentType;
use OfficeBrain\Bundle\RequestQuoteBundle\Entity\RequestQuoteComment;
use OfficeBrain\Bundle\UserBundle\Form\ContactBookType;
use OfficeBrain\Bundle\UserBundle\Entity\ContactBook;
use OfficeBrain\Bundle\RequestQuoteBundle\Controller\RequestQuoteAdminController as BaseRequestQuoteAdminController;

/**
 *
 *
 * @Route("", defaults={"rule_service"="rule_charges"})
 */
class RequestQuoteAdminController extends BaseRequestQuoteAdminController
{
	protected $user;
	protected $form;
	protected $request;
	protected $formData;
	protected $responseArray;
	
	/**
	 *
	 * @author Employee Id: 4203
	 *
	 * Desciption: Define member variables with thier default value
	 *
	 * @param NULL
	 *
	 * @return NULL
	 *
	 * @throws NULL
	 *
	 */
	public function __construct()
	{
		parent::__construct();
	}
	
	/**
	 *
	 * @author Employee Id: 4203
	 *
	 * Desciption: Unset member variables
	 *
	 * @param NULL
	 *
	 * @return NULL
	 *
	 * @throws NULL
	 *
	 */
	public function __destruct()
	{
		parent::__destruct();
	}
	
	
	public function initAction()
	{
		parent::initAction();
	}
	
     

    /**
     * @author Employee Id: 4217
     * 
     * Description : Use to submit guest user info form.
     * 
     * @param 1 : No paramater
     * 
     * @return type : Form view and data.
     * 
     * @throws Exception: Null
     *
     * @Route("/admin/{_locale}/detail-request-quote/{request_quote_id}",
     * name="office_brain_requestquotebundle_requestquoteadmin_admindetailrequestquote",
     * options={"expose"=true}
     * )
     * @Template("OfficeBrainCustomBundleRequestQuoteBundle:RequestQuoteAdmin:adminDetailRequestQuote.html.twig")
     * @Method({"GET"})
     */
    public function adminDetailRequestQuoteAction()
    {
    	$this->initAction();
    	$this->responseArray['data'] = $this->requestQuoteManager->getRequestQuoteDetailById();
    	return $this->responseArray;
    }
    
    /**
     * @author Employee Id: 4248
     * Description : Use to edit the existing shipping address
     *
     * @Route("/admin/{_locale}/request-quote-edit-address/{contactBookId}",
     * name="office_brain_requestquotebundle_editadminrequestquoteaddress",
     * )
     * @Method({"GET"})
     * @Template("OfficeBrainCustomBundleRequestQuoteBundle:RequestQuoteAdmin:adminDetailRequestQuote.html.twig")
     */
    public function editAdminContactBookAction()
    {
    	$this->initAction();
    	$contactBookId = $this->request->get('contactBookId');
    	$contactBookArray = $this->userContactBookManager->getSingleContactBook($contactBookId);
    	$this->form = $this->createForm(new ContactBookType($this->container), $contactBookArray);
    	$this->form->handleRequest($this->request);
    	return array('contactBookForm'=> $this->form->createView(),'contactBookId'=>$contactBookId);
    
    }
    
}
