public function doCampaignAddStep1(Request $request)
 {
     $sms = 0;
     $email = 0;
     $email_template_id = 0;
     if ($request->input('type') == 'email') {
         $email = 1;
     }
     if ($request->input('type') == 'sms') {
         $sms = 1;
     }
     if ($request->input('type') == 'both') {
         $sms = 1;
         $email = 1;
     }
     if ($request->input('type') == 'email' || $request->input('type') == 'both') {
         $email_template_id = $request->input('template_id');
     }
     if ($request->input('send_date')) {
         $send_datetime = Carbon::createFromFormat('d/m/Y H:i', $request->input('send_date') . " " . $request->input('send_time_hour') . ":" . $request->input('send_time_minute'));
     } else {
         $send_datetime = null;
     }
     if (!isset($this->mode)) {
         $campaign = Campaign::addNew(['name' => $request->input('name'), 'sms' => $sms, 'email' => $email, 'scheduled_at' => $send_datetime, 'email_template_id' => $email_template_id]);
     } elseif ($this->mode == 'edit') {
         $campaign = Campaign::findOrFail($request->campaign_id);
         $campaign->name = $request->input('name');
         $campaign->sms = $sms;
         $campaign->email = $email;
         $campaign->scheduled_at = $send_datetime;
         $campaign->email_template_id = $email_template_id;
         $campaign->save();
         $campaign->removeAllMailingLists();
     }
     foreach ($request->input('mailing_lists') as $id) {
         $mailing_list = MailingList::findOrFail($id);
         $campaign->assignMailingList($mailing_list);
     }
     if (!isset($this->mode)) {
         return redirect()->to('marketing/campaign/add/' . $campaign->id . '/content');
     } elseif ($this->mode == 'edit') {
         return redirect()->to('marketing/campaign/edit/' . $campaign->id . '/content');
     }
 }