public function postForms($template)
 {
     $databaseRules = [];
     $inputRules = [];
     $rules = BlockFormRule::where('form_template', '=', $template)->get();
     if (!$rules->isEmpty()) {
         foreach ($rules as $rule) {
             $databaseRules[$rule->field] = $rule;
         }
     }
     $rules = Request::get('rule');
     if (!empty($rules)) {
         foreach ($rules as $rule) {
             $inputRules[$rule['field']] = $rule['rule'];
         }
     }
     $toAdd = array_diff_key($inputRules, $databaseRules);
     $toUpdate = array_intersect_key($inputRules, $databaseRules);
     $toDelete = array_diff_key($databaseRules, $inputRules);
     if (!empty($toDelete)) {
         BlockFormRule::where('form_template', '=', $template)->whereIn('field', array_keys($toDelete))->delete();
     }
     if (!empty($toAdd)) {
         foreach ($toAdd as $field => $rule) {
             $newBlockFormRule = new BlockFormRule();
             $newBlockFormRule->form_template = $template;
             $newBlockFormRule->field = $field;
             $newBlockFormRule->rule = $rule;
             $newBlockFormRule->save();
         }
     }
     if (!empty($toUpdate)) {
         foreach ($toUpdate as $field => $rule) {
             if ($rule != $databaseRules[$field]->rule) {
                 $databaseRules[$field]->rule = $rule;
                 $databaseRules[$field]->save();
             }
         }
     }
     return \redirect()->route('coaster.admin.themes.forms');
 }