/**
  * @param Request $request
  * @return mixed
  */
 public function store(Request $request)
 {
     $data = $request->json()->all();
     $report = new Report();
     $report->shortdesc = $data['shortdesc'];
     $report->description = $data['description'];
     $report->area = $data['area'];
     $report->save();
 }
 public function store(Request $request)
 {
     $report = new Report();
     $report->user_id = $request->user_id;
     $report->student_id = $request->student_id;
     $report->category_id = $request->category_id;
     $report->save();
     //return "u storu sam";
     return view('reports.index')->with('report', $report);
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle(GitHubManager $github)
 {
     $github->authenticate($this->user->token, 'http_token');
     $issues = new Collection();
     foreach ($this->issues as $issue) {
         $i = explode('/', $issue);
         $issues->push((object) $github->issues()->show($i[0], $i[1], $i[2]));
     }
     if ($report = Report::findByUser($this->user)) {
         $report->issues = array_merge($report->issues, $issues);
     } else {
         $report = new Report(['user_id' => $this->user->id, 'issues' => $issues->sortByDesc('number')]);
     }
     return $report->save();
 }
Example #4
0
 public function store(CreateReportRequest $request)
 {
     if (Gate::denies('managerOnly')) {
         abort(403);
     }
     $input = $request->all();
     $result = DB::transaction(function ($input) use($input) {
         $report = new Report();
         $report->name = $input['name'];
         $report->start_date = $input['start_date'];
         $report->end_date = $input['end_date'];
         $report->owner()->associate(Auth::user());
         $report->save();
         foreach ($input['users'] as $user) {
             $report->users()->attach($user['id'], ['view_self' => $user['pivot']['view_self'], 'view_all' => $user['pivot']['view_all']]);
         }
         foreach ($input['indicators'] as $indicator) {
             $report->indicators()->attach($indicator['id'], ['show_value' => $indicator['pivot']['show_value'], 'show_points' => $indicator['pivot']['show_points']]);
         }
         return $report;
     });
     return $result;
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function saveReportImage()
 {
     $category = \Input::get('category');
     $sub_category = \Input::get('sub_category');
     $sub_sub_category = \Input::get('sub_sub_category');
     $description = \Input::get('description');
     $gps_lat = \Input::get('gps_lat');
     $gps_lng = \Input::get('gps_lng');
     $user_email = \Input::get('user_email');
     $headers = apache_request_headers();
     $response = array();
     $files = $_FILES['img'];
     $name = uniqid('img-' . date('Ymd') . '-');
     $temp = explode(".", $files["name"]);
     $name = $name . '.' . end($temp);
     if (file_exists("uploads/" . $name)) {
         echo $_FILES["img"]["name"] . " already exists. ";
     } else {
         move_uploaded_file($_FILES["img"]["tmp_name"], "uploads/" . $name);
         echo "Stored in: " . "uploads/" . $name;
         $img_url = "uploads/" . $name;
     }
     if (isset($headers['api_key'])) {
         ${$user} = User::where('api_key', '=', $headers['api_key'])->first();
         if (sizeof($user) > 0) {
             $newReport = new Report();
             $newReport->prob_category = $category;
             $newReport->prob_dis = 'Durban';
             $newReport->prob_mun = 'Maydon Wharf';
             $newReport->Province = 'KZN';
             $newReport->status = 'Pending';
             $newReport->prob_exp = $description;
             $newReport->img_url = $img_url;
             $newReport->ccg_nam = $user->Fname;
             $newReport->ccg_sur = $user->Sname;
             $newReport->ccg_pos = $user->Position;
             $newReport->prob_subcategory = $sub_sub_category['name'];
             $newReport->GPS = $gps_lat . ', ' . $gps_lng;
             $newReport->gps_lat = $gps_lat;
             $newReport->gps_lng = $gps_lng;
             $newReport->submit_date = \Carbon\Carbon::now('Africa/Johannesburg')->toDateTimeString();
             $newReport->user = $user->ID;
             $newReport->source = 'M';
             $newReport->save();
             $response["message"] = "Report created successfully";
             $response['error'] = FALSE;
             return \Response::json($response, 201);
         } else {
             $response['message'] = 'Access Denied. Invalid Api key';
             $response['error'] = TRUE;
             return \Response::json($response, 401);
         }
     } else {
         $response['message'] = 'Access Denied. Invalid Api key';
         $response['error'] = TRUE;
         return \Response::json($response, 401);
     }
 }
 function borrar()
 {
     $ads = Ad_Web::all();
     foreach ($ads as $ad) {
         $iterator = count(glob(base_path('myFiles/' . $ad->id . '/*.txt'), GLOB_BRACE));
         $ad = Ad_Web::find($ad->id);
         //$fecha = date('Y-m-d',strtotime(Carbon::today()));
         $reporte = new Report();
         $reporte->ad_web_id = $ad->id;
         $reporte->impresiones = $iterator;
         $reporte->fecha = Carbon::today()->subDay(1)->addMinutes(1);
         $reporte->save();
         $ad->created_at = Carbon::tomorrow();
         $ad->save();
         $files = glob(base_path('myFiles/' . $ad->id . '/*.txt'));
         // get all file names
         foreach ($files as $file) {
             // iterate files
             if (is_file($file)) {
                 unlink($file);
             }
             // delete file
         }
     }
 }
Example #7
0
 /**
  * Save request info as new report in database.
  * and send an email of the report
  *
  * @param  Request  $request
  * @return Response
  */
 public function add_report(Request $request)
 {
     $user = Auth::user();
     if (!$user->hasRole('admin') && !$user->hasRole('tutor')) {
         return view('access_denied');
     }
     $errors = array();
     if ($request->assignment == 0) {
         $errors['assignment'] = 'The assignment field is required.';
     }
     // TODO: Add additional error checks.
     if (!empty($errors)) {
         $assignments = [];
         if ($user->hasRole('admin')) {
             $assignments = Assignment::all();
         } else {
             if ($user->hasRole('tutor')) {
                 $assignments = $user->tutor_assignments;
             }
         }
         $data = array('errors' => $errors, 'old' => $request, 'assignments' => $assignments);
         return view('report_add', $data);
     }
     $report = new Report();
     $report->assignment_id = $request->assignment;
     $report->session_date = $request->session_date;
     $report->session_start = DateTime::createFromFormat('Y-m-d g:ia', $request->session_date . ' ' . $request->session_start);
     $report->session_end = DateTime::createFromFormat('Y-m-d g:ia', $request->session_date . ' ' . $request->session_end);
     $report->topic = $request->topic;
     $report->response = $request->response;
     $report->plans = $request->plans;
     $report->student_plans = $request->student_plans;
     $report->comments = $request->comments;
     $report->save();
     // send an email to the corresponding professor whenever a tutor submits a report
     /*
     Mail::send('emails.report_add_email', ['user' => $user, 'report' => $report], function ($message) use ($user, $report){
         $message->from('*****@*****.**', 'Calvin Tutoring Reports');
         $message->to($report->assignment->professor->email)->subject($report->assignment->course->department . '-' . $report->assignment->course->number . ' report submitted');
     });
     */
     session()->put('success', 'New Report has been added.');
     return redirect('report/' . $report->id);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $create_report = false;
     for ($i = 0; $i < count($request->all()); $i++) {
         if ($request->input($i . '.include')) {
             $this->validate($request, [$i . '.member.id' => 'required|numeric', $i . '.position_id' => 'required|numeric', $i . '.project_id' => 'required|numeric', $i . '.target_id' => 'required|numeric', $i . '.output' => 'required|numeric', $i . '.date_start' => 'required|date', $i . '.date_end' => 'required|date', $i . '.hours_worked' => 'required|numeric', $i . '.daily_work_hours' => 'required|numeric', $i . '.output_error' => 'required|numeric']);
             // check if a report is already created
             if (!$create_report) {
                 $admin = User::where('role', 'admin')->first();
                 $report = new Report();
                 $report->user_id = $request->user()->id;
                 $report->department_id = $request->user()->department_id;
                 $report->project_id = $request->input($i . '.project_id');
                 $report->daily_work_hours = $request->input($i . '.daily_work_hours');
                 $report->date_start = $request->input($i . '.date_start');
                 $report->date_end = $request->input($i . '.date_end');
                 $report->save();
                 // create a notification
                 $notification = new Notification();
                 $notification->message = 'submitted a ';
                 $notification->sender_user_id = $request->user()->id;
                 $notification->receiver_user_id = $admin->id;
                 $notification->subscriber = 'admin';
                 $notification->state = 'main.weekly-report';
                 $notification->event_id = $report->id;
                 $notification->event_id_type = 'report_id';
                 $notification->seen = false;
                 $notification->save();
                 $notify = DB::table('reports')->join('users', 'users.id', '=', 'reports.user_id')->join('projects', 'projects.id', '=', 'reports.project_id')->join('notifications', 'notifications.event_id', '=', 'reports.id')->select('reports.*', 'users.*', DB::raw('LEFT(users.first_name, 1) as first_letter'), 'projects.*', 'notifications.*')->where('notifications.id', $notification->id)->first();
                 // foreach ($query as $key => $value) {
                 //     $notify = $value;
                 // }
                 event(new ReportSubmittedBroadCast($notify));
                 $activity_type = ActivityType::where('action', 'create')->first();
                 $activity = new Activity();
                 $activity->report_id = $report->id;
                 $activity->user_id = $request->user()->id;
                 $activity->activity_type_id = $activity_type->id;
                 $activity->save();
                 // report
                 $create_report = true;
             }
             // $target = Target::where('position_id', $request->input($i.'.position_id'))->where('experience', $request->input($i.'.experience'))->first();
             $target = Target::withTrashed()->where('id', $request->input($i . '.target_id'))->first();
             $performance = new Performance();
             $performance->report_id = $report->id;
             $performance->member_id = $request->input($i . '.member.id');
             $performance->position_id = $request->input($i . '.position_id');
             $performance->department_id = $request->user()->department_id;
             $performance->project_id = $request->input($i . '.project_id');
             $performance->target_id = $target->id;
             $performance->output = round($request->input($i . '.output'), 2);
             $performance->date_start = $request->input($i . '.date_start');
             $performance->date_end = $request->input($i . '.date_end');
             $performance->hours_worked = round($request->input($i . '.hours_worked'), 2);
             $performance->daily_work_hours = $request->input($i . '.daily_work_hours');
             $performance->output_error = round($request->input($i . '.output_error'), 2);
             // Round((Output / Hours Worked) * Daily Work Hours)
             // store the rounded value
             $performance->average_output = round($request->input($i . '.output') / $request->input($i . '.hours_worked') * $request->input($i . '.daily_work_hours'), 2);
             // average output / target output * 100 to convert to percentage
             $performance->productivity = round($performance->average_output / $target->productivity * 100, 2);
             // 1 - output w/error / output * 100 to convert to percentage
             $performance->quality = round((1 - $performance->output_error / $performance->output) * 100, 2);
             // Quadrant
             if ($performance->productivity < 100 && $performance->quality >= $target->quality) {
                 $performance->quadrant = 'Quadrant 1';
             } else {
                 if ($performance->productivity >= 100 && $performance->quality >= $target->quality) {
                     $performance->quadrant = 'Quadrant 2';
                 } else {
                     if ($performance->productivity >= 100 && $performance->quality < $target->quality) {
                         $performance->quadrant = 'Quadrant 3';
                     } else {
                         if ($performance->productivity < 100 && $performance->quality < $target->quality) {
                             $performance->quadrant = 'Quadrant 4';
                         }
                     }
                 }
             }
             // $performance->type = "weekly";
             $performance->save();
             // fetch target
             // $productivity = Target::where('type', 'Productivity')->where('position_id', $request->input($i.'.position_id'))->where('experience', $request->input($i.'.experience'))->where('created_at', '<=', $request->input($i.'.date_end'))->orderBy('created_at', 'desc')->first();
             // if(!$productivity)
             // {
             //      $productivity = Target::where('type', 'Productivity')->where('position_id', $request->input($i.'.position_id'))->where('experience', $request->input($i.'.experience'))->first();
             // }
             // $quality = Target::where('type', 'Quality')->where('position_id', $request->input($i.'.position_id'))->where('experience', $request->input($i.'.experience'))->where('created_at', '<=', $request->input($i.'.date_end'))->orderBy('created_at', 'desc')->first();
             // if(!$quality)
             // {
             //      $quality = Target::where('type', 'Quality')->where('position_id', $request->input($i.'.position_id'))->where('experience', $request->input($i.'.experience'))->first();
             // }
             // $performance->productivity_id = $productivity->id;
             // $performance->quality_id = $quality->id;
         }
     }
 }
 /**
  * Demotes a single report and returns the user back to the reports page.
  * Handles /report/{report}/demote
  *
  * @param  Report  $report
  * @return Response
  */
 public function getDemote(Report $report)
 {
     if (!$report->canView($this->user)) {
         abort(403);
     }
     if (!$report->isOpen()) {
         abort(404);
     }
     $report->global = false;
     $report->promoted_at = $report->freshTimestamp();
     $report->promoted_by = $this->user->user_id;
     $report->save();
     return redirect()->back()->withSuccess(trans_choice("panel.reports.demoted", 1, ['reports' => 1]));
 }
 protected function insertReport(Request $request, $id)
 {
     $array = Input::all();
     $validator = Validator::make($array, ['month' => 'required', 'content' => 'required']);
     if ($validator->fails()) {
         return Response::json('', 400);
     } else {
         $Report = new Report();
         $Report->Project_FK = $id;
         $Report->month = $request->input('month');
         $Report->content = $request->input('content');
         $Report->save();
         return Response::json($Report);
     }
 }
Example #11
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $req = Request::all();
     if ($req['type'] == 1) {
         $ot = new Ot(Request::all());
         if ($req['start_at'] != "" && $req['finish_at'] != "") {
             $ot->duration = Ot::getDuration($req['start_at'], $req['finish_at']);
         } else {
             $ot->duration = 0;
         }
         $ot->save();
         $otDetail = new OtDetail();
         $otDetail->ot_id = $ot->id;
         $otDetail->ingdt_user_id = $req['ingdt_user_id'];
         $otDetail->allowance_id = $req['allowance_id'];
         $otDetail->detail_type = $req['detail_type'];
         $otDetail->save();
         $report = new Report();
         $report->user_id = $req['user_id'];
         $report->type = 1;
         $report->report_at = $req['report_at'];
         $report->status = $req['reportStatus'];
         $report->ot_id = $ot->id;
         $report->save();
         $ot2 = Ot::findOrFail($ot->id);
         $ot2->report_id = $report->id;
         $ot2->save();
         return view('home');
     } elseif ($req['type'] == 2) {
         $ot = new Ot(Request::all());
         if ($req['start_at'] != "" && $req['finish_at'] != "") {
             $ot->duration = Ot::getDuration($req['start_at'], $req['finish_at']);
         } else {
             $ot->duration = 0;
         }
         $ot->save();
         $otDetail = new OtDetail();
         $otDetail->ot_id = $ot->id;
         $site = Site::find($req['nemonico']);
         $otDetail->site_id = $site->id;
         $otDetail->detail_type = $req['detail_type'];
         $otDetail->dpr = $req['dpr'];
         $otDetail->seguimiento = $req['ingdt_user_id'];
         $otDetail->allowance_id = $req['allowance_id'];
         $otDetail->materials = $req['materials'];
         $otDetail->save();
         $report = new Report();
         $report->user_id = $req['user_id'];
         $report->type = 1;
         $report->report_at = $req['report_at'];
         $report->status = $req['reportStatus'];
         $report->ot_id = $ot->id;
         $report->save();
         $ot2 = Ot::findOrFail($ot->id);
         $ot2->report_id = $report->id;
         $ot2->save();
         return view('home');
     } elseif ($req['type'] == 3) {
         $ot = new Ot(Request::all());
         if ($req['start_at'] != "" && $req['finish_at'] != "") {
             $ot->duration = Ot::getDuration($req['start_at'], $req['finish_at']);
         } else {
             $ot->duration = 0;
         }
         $ot->save();
         $otDetail = new OtDetail();
         $otDetail->ot_id = $ot->id;
         $otDetail->ingdt_user_id = $req['ingdt_user_id'];
         $otDetail->allowance_id = $req['allowance_id'];
         $otDetail->detail_type = $req['detail_type'];
         $otDetail->save();
         $report = new Report();
         $report->user_id = $req['user_id'];
         $report->type = 1;
         $report->report_at = $req['report_at'];
         $report->status = $req['reportStatus'];
         $report->ot_id = $ot->id;
         $report->save();
         $ot2 = Ot::findOrFail($ot->id);
         $ot2->report_id = $report->id;
         $ot2->save();
     }
 }
Example #12
0
 /**
  * Updates a post with the edit.
  */
 public function postReport(Request $request, Board $board, $post, $global = false)
 {
     // Validate the request parameters.
     if (!($post = $this->validatePost($board, $post)) instanceof Post) {
         // If the response isn't a Post, it's a redirect or error.
         // Return the message.
         return $post;
     }
     if ($global === "global") {
         if (!$post->canReportGlobally($this->user)) {
             abort(403);
         }
         $actions[] = "global";
     } else {
         if (!$post->canReport($this->user)) {
             abort(403);
         }
     }
     $input = Input::all();
     $validator = Validator::make($input, ['associate' => ["boolean"], 'captcha' => ["required", "captcha"], 'reason' => ["string", "between:0,512"]]);
     if (!$validator->passes()) {
         return redirect()->back()->withErrors($validator->errors());
     }
     $report = new Report();
     $report->board_uri = $global === "global" ? NULL : $board->board_uri;
     $report->post_id = $post->post_id;
     $report->reason = $input['reason'];
     $report->ip = Request::ip();
     $report->user_id = !!Input::get('associate', false) ? $this->user->user_id : false;
     $report->is_dismissed = false;
     $report->is_successful = false;
     $report->save();
     Session::flash('success', trans('board.report.success'));
     return back()->with('report', $report);
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $startDate = new \DateTime(Carbon::parse(Carbon::today()->subDay()));
     $endDate = new \DateTime(Carbon::parse(Carbon::today()->subMinutes(1)));
     $metrics = 'ga:pageviews,ga:totalEvents';
     //$analytics = \LaravelAnalytics::performQuery($startDate, $endDate, $metrics, $others = array( 'dimensions' => 'ga:country'));
     //$analytics = \LaravelAnalytics::getMostVisitedPages($numberOfDays = 1, $maxResults = 20);
     $analytics = \LaravelAnalytics::performQuery($startDate, $endDate, $metrics, $others = array("dimensions" => "ga:pagePath", "sort" => "-ga:pageviews"));
     $ads = Ad_Web::all();
     $pila = array();
     $ids = array();
     $a = 0;
     for ($x = 0; $x < count($analytics["rows"]); $x++) {
         $comma_separated = implode("/", $analytics['rows'][$x]);
         $pieces = explode("/", $comma_separated);
         //primer error si no existe el imp osea esta / o advertiserw
         foreach ($ads as $ad) {
             if ($a == 0) {
                 array_push($ids, $ad->id);
             }
             if (empty($pieces[1])) {
             } else {
                 if ($pieces[2] == $ad->id) {
                     array_push($pila, $ad->id);
                     // echo "id = $pieces[2]"." Impresiones = $pieces[3]<br/ >";
                     $reporte = new Report();
                     $reporte->ad_web_id = $ad->id;
                     if (empty($pieces[3])) {
                         $reporte->impresiones = 0;
                         $reporte->ctr = 0;
                         $reporte->click = 0;
                     } else {
                         $reporte->impresiones = $pieces[3];
                         $reporte->ctr = $pieces[4] / $pieces[3];
                         $reporte->click = $pieces[4];
                     }
                     $reporte->fecha = Carbon::today()->subDay(1)->addMinutes(1);
                     $reporte->save();
                     $ad->created_at = Carbon::tomorrow();
                     $ad->save();
                 }
             }
         }
         $a++;
     }
     $result = array_diff($ids, $pila);
     foreach ($result as $r) {
         $ad = Ad_Web::find($r);
         $reporte = new Report();
         $reporte->ad_web_id = $ad->id;
         $reporte->impresiones = 0;
         $reporte->click = 0;
         $reporte->ctr = 0;
         $reporte->fecha = Carbon::today()->subDay(1)->addMinutes(1);
         $reporte->save();
         $ad->created_at = Carbon::tomorrow();
         $ad->save();
     }
     /*
             $pieces = array();
             foreach ($analytics['rows'] as $row){
                 $pieces = array_merge(explode("/imp/",$row[0]),$pieces);
             }
             for($x = 0 ; $x < count($pieces); $x++){
                 foreach($ads as $ad){
                     if($ad->id == $pieces[$x]){
                         echo $pieces[$x]."<br/>";
                     }
                 }
             }*/
 }
Example #14
0
 public function doCreate(CreateReportRequest $request)
 {
     $location = \GeoIP::getLocation();
     $allSoldProducts = [];
     $report = new Report();
     $soldProduct = $request->sold_product;
     $quantity = $request->quantity;
     $extraSoldProducts = $request->extra_sold_products;
     $extraQuantity = $request->extra_quantity;
     $double_visit_manager = $request->double_visit_manager;
     if (!empty($soldProduct)) {
         $allSoldProducts[$soldProduct] = $quantity;
     }
     if (!empty($extraSoldProducts)) {
         foreach ($extraSoldProducts as $key => $singleSoldProduct) {
             $allSoldProducts[$singleSoldProduct] = $extraQuantity[$key];
         }
     }
     $report->mr_id = \Auth::user()->id;
     $report->month = $request->month . '-' . $request->year;
     $report->date = $request->date;
     $report->doctor_id = $request->doctor;
     $report->total_sold_products_price = !empty($allSoldProducts) ? $this->productPrice($allSoldProducts) : '0';
     $report->feedback = $request->feedback;
     $report->follow_up = $request->follow_up;
     $report->lat = $location['lat'];
     $report->lon = $location['lon'];
     $report->double_visit_manager_id = !empty($double_visit_manager) ? $double_visit_manager : NULL;
     $report->is_planned = !empty(\Session::has('planned_visit')) ? 1 : 0;
     try {
         if ($report->save()) {
             if (!empty($request->promoted_products)) {
                 foreach ($request->promoted_products as $singleProduct) {
                     $promotedProduct = new ReportPromotedProduct();
                     $promotedProduct->report_id = $report->id;
                     $promotedProduct->product_id = $singleProduct;
                     $promotedProduct->save();
                 }
             }
             if (!empty($request->samples_products)) {
                 foreach ($request->samples_products as $singleProduct) {
                     $sampleProduct = new ReportSampleProduct();
                     $sampleProduct->report_id = $report->id;
                     $sampleProduct->product_id = $singleProduct;
                     $sampleProduct->save();
                 }
             }
             if (!empty($request->gifts)) {
                 foreach ($request->gifts as $singleGift) {
                     $gift = new ReportGift();
                     $gift->report_id = $report->id;
                     $gift->gift_id = $singleGift;
                     $gift->save();
                 }
             }
             if (!empty($request->sold_product)) {
                 $soldProduct = new ReportSoldProduct();
                 $soldProduct->report_id = $report->id;
                 $soldProduct->product_id = $request->sold_product;
                 $soldProduct->quantity = $request->quantity;
                 $soldProduct->save();
             }
             if (!empty($extraSoldProducts)) {
                 foreach ($extraSoldProducts as $key => $singleSoldProduct) {
                     $soldProduct = new ReportSoldProduct();
                     $soldProduct->report_id = $report->id;
                     $soldProduct->product_id = $singleSoldProduct;
                     $soldProduct->quantity = $extraQuantity[$key];
                     $soldProduct->save();
                 }
             }
         }
         if (\Session::get('planned_visit') == 1) {
             return redirect()->route('plans')->with('message', 'Report has been created successfully !');
         }
         return redirect()->back()->with('message', 'Report has been created successfully !');
     } catch (ParseException $ex) {
         echo 'Failed to create new report , with error message: ' . $ex->getMessage();
     }
 }