src/Globals/ClaimManagementBundle/Form/ClaimMainFragment.php line 20

Open in your IDE?
  1. <?php
  2. namespace Globals\ClaimManagementBundle\Form;
  3. use Doctrine\ORM\EntityRepository;
  4. use Globals\ClaimManagementBundle\Entity\Claim;
  5. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  8. use Symfony\Component\Form\Extension\Core\Type\CollectionType;
  9. use Symfony\Component\Form\Extension\Core\Type\DateType;
  10. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  11. use Symfony\Component\Form\Extension\Core\Type\MoneyType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Component\Form\Extension\Core\Type\TextType;
  14. use Symfony\Component\Form\FormBuilderInterface;
  15. use Symfony\Component\OptionsResolver\OptionsResolver;
  16. use Symfony\Component\Form\CallbackTransformer;
  17. class ClaimMainFragment extends AbstractType
  18. {
  19.     private $status;
  20.     private $roles;
  21.     public function buildForm(FormBuilderInterface $builder, array $options)
  22.     {
  23.         // data passed into options array from controller
  24.         $this->status $options['status'];
  25.         $this->roles $options['roles'];
  26.         $canEdit false;
  27.         foreach($this->roles as $role) {
  28.             if ($role == "ROLE_SUPER_ADMIN" || $role == "ROLE_ADMIN" || $role == "ROLE_EXAMINER") {
  29.                 $canEdit true;
  30.             }
  31.         }
  32.         if ($this->status 30 && $canEdit) {
  33.             # dont disable
  34.             $bool false;
  35.         } else {
  36.             # disable claimteam and customer
  37.             $bool true;
  38.         }
  39.         $builder
  40.             ->add('customerCatCode'TextType::class, ['label' => "CAT Bulletin"'required' => false])
  41.             ->add('catastropheCode'TextType::class, ['label' => "CAT Code"])
  42.             ->add('dateClosed'DateType::class, ['widget'=>'single_text''label' => 'Date Closed''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  43.                 'attr' => ['class' => 'dateValidationJs form-control datepicker'],'disabled' => true])
  44.             ->add('plannedInspectionDate'DateType::class, ['widget'=>'single_text''label' => 'Planned Inspection Date''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  45.                 'attr' => ['class' => 'dateValidationJs form-control datepicker'],'disabled' => true])
  46.             ->add('dateInspected'DateType::class, ['widget'=>'single_text''label' => 'Date Inspected''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  47.                 'attr' => ['class' => 'dateValidationJs form-control datepicker'],'disabled' => true])
  48.             ->add('dateReopened'DateType::class, ['widget'=>'single_text''label' => 'Date Re-Opened''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  49.                 'attr' => ['class' => 'file-info-dateValidationJs form-control file-info-datepicker'],'disabled' => true])
  50.             ->add('customer'EntityType::class, ['class'=> 'Globals\CustomerManagementBundle\Entity\Customer','placeholder' => 'None''choice_label' => 'companyName''label' => 'Customer','disabled' => $bool])
  51.             ->add('claimTeam'EntityType::class, ['class'=>'Globals\ClaimManagementBundle\Entity\ClaimTeam','placeholder' => 'None''choice_label' => 'name''label' => 'Claim Team''disabled' => $bool])
  52.             ->add('severity'IntegerType::class, ['label'=>'Severity'])
  53.             ->add('specialNotes'TextareaType::class, ['label'=>'Special Notes'])
  54.             ->add('lossCity'TextType::class, ['label'=>'Loss City'])
  55.             ->add('lossAmount'TextType::class, ['label' => 'Loss Amount'])
  56.             ->add('lossState'EntityType::class, ['class'=>'Globals\ResourceManagementBundle\Entity\State''choice_label' => 'stateCode''label' => 'Loss State'])
  57.             ->add('lossStreet'TextType::class, ['label'=>'Loss Address'])
  58.             ->add('propertyStatus'EntityType::class, ['class' => 'Globals\ClaimManagementBundle\Entity\PropertyStatus''choice_label' => 'name''label' => 'Property Status'])
  59.             ->add('claimExceptions'EntityType::class, ['class' => 'Globals\ClaimManagementBundle\Entity\ClaimExceptions''choice_label' => 'exception_code''placeholder' => '-- Select --''label' => 'Claim Exception'])
  60.             ->add('lossZip')
  61.             ->add('lossDate'DateType::class, [
  62.                 'widget'=>'single_text',
  63.                 'label' => 'Loss Date',
  64.                 'html5' => false,
  65.                 "format" => "MM/dd/yyyy",
  66.                 'placeholder' =>'mm/dd/yyyy',
  67.                 'attr' => [
  68.                     'class' => 'file-info-dateValidationJs form-control file-info-datepicker'
  69.                 ]
  70.             ])
  71.             ->add('lossDescription'TextareaType::class, ['label'=>'Loss Description''attr' => array('height'=>'300px !important')])
  72.             ->add("firstLossNotice",DateType::class, ['widget'=>'single_text''label' => 'First Loss Notice''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  73.                 'attr' => ['class' => 'file-info-dateValidationJs form-control file-info-datepicker']])
  74.             ->add('policyNumber'TextType::class, ['label' => 'Policy #''required' => false])
  75.             ->add('policy'EntityType::class, ['class'=>'Globals\ClaimManagementBundle\Entity\PolicyType''choice_label'=>'name''label' => 'Policy Type''placeholder' => 'Choose a Policy Type'])
  76.             ->add('policyStartDate',DateType::class, ['widget'=>'single_text''label' => 'Policy Date (start)''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  77.                 'attr' => ['class' => 'file-info-dateValidationJs form-control file-info-datepicker']])
  78.             ->add('policyEndDate'DateType::class, ['widget'=>'single_text''label' => 'Policy Date (end)''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  79.                 'attr' => ['class' => 'file-info-dateValidationJs form-control file-info-datepicker']])
  80.             ->add('coinsurance'TextType::class, ['label' => 'Co-Insurance #'])
  81.             ->add('planId'EntityType::class, ['class'=>'Globals\ClaimManagementBundle\Entity\PlanID''choice_label' => 'planName''label' => 'Plan ID''placeholder' => 'Choose a Plan ID'])
  82.             ->add('formNumbers'TextareaType::class, ['label' => 'Form Numbers (set)'])
  83.             ->add('settlement'EntityType::class, ['class'=>'Globals\ClaimManagementBundle\Entity\SettlementType''label' => 'Settlement Types''choice_label' => 'name''placeholder' => '- Choose Settlement Type -'])
  84.             ->add('reopenSettlementType'EntityType::class, ['class'=>'Globals\ClaimManagementBundle\Entity\SettlementType''label' => 'Settlement Types''choice_label' => 'name''placeholder' => '- Choose Settlement Type -'])
  85.             ->add("reportDueDate",DateType::class, ['widget'=>'single_text''label' => 'Report Due Date''html5' => false"format" => "MM/dd/yyyy"'placeholder' =>'mm/dd/yyyy',
  86.                 'attr' => ['class' => 'file-info-dateValidationJs form-control file-info-datepicker']])
  87.             ->add('loanNumber'TextType::class, ['label' => 'Loan Number'])
  88.             ->add('mortgage'TextType::class, ['label' => 'Mortgage Information'])
  89.             ->add('liabilityType'EntityType::class, ['class' => 'Globals\ClaimManagementBundle\Entity\LiabilityType','placeholder' => 'None''required' => false'choice_label' => 'name''label' => 'Liability Type'])
  90.             ->add('recoveriesType'EntityType::class, ['class' => 'Globals\ClaimManagementBundle\Entity\RecoveriesType','placeholder' => 'None''required' => false,'choice_label' => 'name''label' => 'Recoveries Type']);
  91.         $builder->get('specialNotes')
  92.             ->addModelTransformer(new CallbackTransformer(
  93.                 function ($data) {
  94.                     return strip_tags($data);
  95.                 },
  96.                 function ($data) {
  97.                     return strip_tags($data);
  98.                 }
  99.             ));
  100.     }
  101.     public function configureOptions(OptionsResolver $resolver)
  102.     {
  103.         $resolver->setDefaults(array(
  104.             'data_class' => Claim::class,
  105.             "csrf_protection" => false,
  106.             "roles" => "",
  107.             "status" => 0,
  108.         ));
  109.     }
  110.     public function getName()
  111.     {
  112.         return 'claim_management_bundle_claim_main_fragment';
  113.     }
  114. }