コード例 #1
0
ファイル: EmailController.php プロジェクト: davila7/kayra
 public function RecordatorioPagoEmail()
 {
     $mes_actual = date('m');
     $alumnos = Mensualidad::with('plan', 'alumno', 'pago_mensualidad')->join('users', 'users.id', '=', 'mensualidad.user_id')->join('planes', 'planes.id', '=', 'mensualidad.plan_id')->leftJoin('pago_mensualidad', 'mensualidad.id', '=', 'pago_mensualidad.mensualidad_id')->where('users.cuenta_activa', '1')->where('users.pago_email', '1')->where('planes.tipo_plan', 'LIKE', '%Mensual%')->whereRaw($mes_actual . " > (SELECT MONTH(A.fecha_pago) FROM pago_mensualidad as A where A.mensualidad_id = mensualidad.id\n\t\t\t\t\t\tORDER BY fecha_pago DESC LIMIT 1)")->groupBy('mensualidad.id')->get();
     foreach ($alumnos as $alumno) {
         $pago = $alumno->dia_pago - date('d');
         if ($pago == 0) {
             $user_id = $alumno->user_id;
             $user = User::find($user_id);
             $plan = Mensualidad::where('user_id', $user_id)->first()->plan()->first();
             $mensualidad = Mensualidad::where('user_id', $user_id)->first();
             $valor = $plan->valor;
             $tipo_plan = $plan->tipo_plan;
             $nombre_plan = $plan->nombre;
             $email = $user->email;
             $full_name = $user->fullname;
             $email = $user->email;
             $data = array('full_name' => $full_name, 'valor' => $valor, 'nombre_plan' => $nombre_plan, 'tipo_plan' => $tipo_plan);
             \Mail::send('emails.recordatorio-pago', $data, function ($message) use($email) {
                 $message->from('*****@*****.**', 'BoxMagic');
                 $message->to($email)->subject('Notificación de Mensualidad');
             });
             \DB::table('email_enviados')->insert(['user_id' => $alumno['user_id'], 'mensualidad_id' => $alumno->mensualidad_id, 'dia_pago' => $mensualidad->dia_pago, 'created_at' => date('Y-m-d H:i')]);
         }
     }
     return "Emails enviados con exito";
 }
コード例 #2
0
 /**
  *
  * @return Response
  */
 public function ListaAnualActual()
 {
     $mes_actual = date('m');
     $semestre_actual = date('m') + 11;
     $data = Mensualidad::with('plan', 'alumno', 'pago_mensualidad')->whereHas('alumno', function ($query) {
         $query->where('users.cuenta_activa', '=', '1');
     })->whereHas('plan', function ($query) {
         $query->where('planes.tipo_plan', 'LIKE', '%Anual%');
     })->whereRaw($semestre_actual . " > (SELECT MONTH(A.fecha_pago) FROM pago_mensualidad as A where A.mensualidad_id = mensualidad.id\n                        ORDER BY fecha_pago DESC LIMIT 1)");
     $filter = DataFilter::source($data);
     $filter->attributes(array('class' => 'form-inline'));
     $filter->add('alumno.name', 'Buscar por Nombre', 'text');
     $filter->add('alumno.last_name', 'Buscar por Apellido', 'text');
     $filter->add('plan.nombre', 'Buscar por Plan', 'text');
     $filter->submit('Buscar');
     $filter->reset('Limpiar');
     $filter->build();
     $grid = DataSet::source($filter);
     $grid->paginate(10);
     $grid->build();
     return view('mensualidad/lista_ano_pago_actual', compact('filter', 'grid', 'mes_actual'));
 }