/**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(contractRequest $request)
 {
     // use my custom handler to fix dates, check if dates are valid and see if the stores are available to rent
     $contractFormHandler = new ContractFormHandler($request);
     if ($contractFormHandler->hasErrors) {
         \Session::flash('message', $contractFormHandler->errorMessages);
         \Session::flash('messageType', 'warning');
         return redirect()->route('contracts.create')->withInput();
     }
     // if all is ok
     $contract = new Contract();
     $contract->description = $request->description;
     $contract->effective_date = $request->effective_date;
     $contract->expiry_date = $request->expiry_date;
     $contract->terms = $request->terms;
     $contract->signing_date = $request->signing_date;
     $contract->amount = $request->amount;
     $contract->currency = $request->currency;
     // associate with tenant
     $tenant = Tenant::findOrFail($request->tenant);
     $contract->tenant()->associate($tenant);
     $contract->save();
     // attach properties
     foreach ($request->properties as $key => $property) {
         $propertyInFocus = Property::findOrFail($property);
         $contract->properties()->attach($propertyInFocus);
     }
     return redirect()->route('contracts.index');
 }