Esempio n. 1
0
 /**
  *  Create a new newsletter from request.
  *
  * @param $request input form data
  * @return User
  */
 public function pushNewsletter($request)
 {
     $input = $request->all();
     $newsletter = new Newsletter();
     $newsletter->fill($input);
     $newsletter->save();
     return $newsletter;
 }
 public function newsletter_save_and_send(ClientsNewsletterFormRequest $request)
 {
     $email_subject = $request->get('email_subject');
     $email_body = $request->get('email_body');
     $data = ['email_subject' => $email_subject, 'email_body' => $email_body];
     //functionality for saving to database
     $newsletter = new Newsletter($data);
     $newsletter->save();
     //functionality fo sending email
     $data = ['email_subject' => $email_subject, 'email_body' => $email_body];
     Mail::send('bard_clients/newsletter_template', $data, function ($message) {
         $message->from('*****@*****.**', 'learning laravel 2');
         $message->bcc($this->all_clients_email())->subject(Input::get('email_subject'));
     });
     return redirect('clients/create_newsletter')->withStatus('Newsletter sent successfully');
 }
 public function post(Request $request)
 {
     //dd($request->all());
     $validation = Validator::make($request->all(), ['email' => 'required|email|unique:newsletter|max:40']);
     $array = [];
     if (!$validation->fails()) {
         $newsletterConsult = Newsletter::where('email', $request->email)->count();
         if ($newsletterConsult == 0) {
             $newsletter = new Newsletter();
             $newsletter->email = $request->email;
             $newsletter->save();
             $array = ['error' => 0, 'msg' => 'E-mail cadastrado com sucesso!'];
         } else {
             $array = ['error' => 1, 'msg' => 'E-mail já cadastrado anteriormente!'];
         }
     } else {
         $array = ['error' => 1, 'msg' => 'Erro ao cadastrar o e-mail!'];
     }
     return json_encode($array);
 }
 public function send(Request $request)
 {
     //WEBSITE SETTINGS
     $websiteSettings = \App\Exceptions\Handler::readFile("websiteSettings.json");
     $this->validate($request, ['patientName' => 'required|max:100', 'weight' => 'required|max:5', 'height' => 'required|max:4', 'reactionDescription' => 'required', 'birthDate' => 'required|max:10', 'gender' => 'required', 'productReaction' => 'required|max:100', 'productReasonOfUse' => 'required', 'productBatch' => 'required|max:100', 'notifierName' => 'required|max:100', 'peopleType' => 'required', 'cpf' => 'required_if:peopleType,Física|max:14', 'notifierBirthDate' => 'required_if:peopleType,Física|max:10', 'cnpj' => 'required_if:peopleType,Jurídica|max:18', 'youAre' => 'required', 'phone' => 'required_without:mobile', 'mobile' => 'required_without:phone', 'email' => 'required|email|max:40', 'newsletter' => 'required'], ['patientName.required' => 'Informe o nome do paciente', 'patientName.max' => 'O nome do paciente não pode passar de :max caracteres', 'weight.required' => 'Informe o peso do paciente', 'weight.max' => 'O peso do paciente não pode passar de :max caracteres', 'height.required' => 'Informe a altura do paciente', 'height.max' => 'A altura do paciente não pode passar de :max caracteres', 'reactionDescription.required' => 'Descreva a reação do paciente', 'birthDate.required' => 'Informe a data de nascimento do paciente', 'birthDate.max' => 'A data de nascimento do paciente não pode passar de :max caracteres', 'gender.required' => 'Marque o sexo do paciente', 'productReaction.required' => 'Informe o produto que causou a reação', 'productReaction.max' => 'O nome do produto não pode passar de :max caracteres', 'productReasonOfUse.required' => 'Informe o motivo do uso do produto', 'productBatch.required' => 'Informe o lote do produto', 'productBatch.max' => 'O lote do produto não pode passar de :max caracteres', 'notifierName.required' => 'Informe o nome do notificador', 'notifierName.max' => 'O nome do notificador não pode passar de :max caracteres', 'peopleType.required' => 'Informe o tipo de pessoa', 'cpf.required_if' => 'Informe o CPF do notificador', 'cpf.max' => 'O CPF do notificador não pode passar de :max caracteres', 'notifierBirthDate.required_if' => 'Informe da data de nascimento do notificador', 'notifierBirthDate.max' => 'A data de nascimento do notificador não pode passar de :max caracteres', 'cnpj.required_if' => 'Informe o CNPJ do notificador', 'cnpj.max' => 'O CNPJ do notificador não pode passar de :max caracteres', 'youAre.required' => 'Informe qual das informações você se enquadra', 'phone.required_without' => 'Informe um número de telefone', 'mobile.required_without' => 'ou um número de celular', 'email.required' => 'Informe um e-mail para contato', 'email.email' => 'Informe um e-mail válido', 'email.max' => 'O e-mail não pode passar de :max caracteres', 'newsletter.required' => 'Marque se você deseja ou não receber nossos e-mails']);
     if ($request->newsletter == 'Sim') {
         $newsletterConsult = Newsletter::where('email', '=', $request->email)->count();
         if ($newsletterConsult == 0) {
             $newsletter = new Newsletter();
             $newsletter->email = $request->email;
             $newsletter->save();
         }
     }
     array_set($request, "date", Carbon::now()->format('d/m/Y'));
     $emails = EmailsFarmacovigilance::find(1);
     Mail::send('website.farmacovigilance.email', ['request' => $request], function ($message) use($emails) {
         $emailsSend = explode(',', $emails->emails);
         foreach ($emailsSend as $email) {
             $message->from('*****@*****.**', 'Teuto/Pfizer')->subject('Farmacovigilância [espacofarmaceutico.com.br]')->to($email);
         }
     });
     $success = "E-mail enviado com sucesso!";
     return redirect(url('farmacovigilancia'))->with(compact('success'));
 }