Advertisement
Guest User

Untitled

a guest
Mar 24th, 2018
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.93 KB | None | 0 0
  1. //usercontroller
  2. <?php
  3.  
  4. namespace App\Http\Controllers;
  5.  
  6. use App\User;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Str;
  9. use Mail;
  10. use App\Mail\verifyEmail;
  11.  
  12.  
  13. class UserController extends Controller
  14. {
  15. /**
  16. * Display a listing of the resource.
  17. *
  18. * @return \Illuminate\Http\Response
  19. */
  20. public function index()
  21. {
  22. $users = User::all();
  23.  
  24. //Load all users on the table and pass the users
  25. $users = User::where(['archive'=>1])->orderBy('id')->get();
  26. return view('usercrud.index')->with('users', $users);
  27. }
  28.  
  29. /**
  30. * Show the form for creating a new resource.
  31. *
  32. * @return \Illuminate\Http\Response
  33. */
  34. public function create(Request $request)
  35. {
  36. //
  37. ;
  38.  
  39. //imageuplod
  40. if ($request->hasFile('file')){
  41. $filename = $request->file->getClientOriginalName();
  42. $filesize = $request->images->getClientSize();
  43.  
  44. $request->file->storeAs('public/upload', $filename);
  45.  
  46.  
  47. $usersC = new User;
  48. $usersC->empid = $request->empid;
  49. $usersC->position = $request->companyPos;
  50. $usersC->name = $request->fullname;
  51. $usersC->email = $request->email;
  52. $usersC->password = bcrypt($request->password);
  53. $usersC->roles = $request->role_id;
  54. $usersC->verifyToken = Str::random(40);
  55. $usersC->filename = $filename;
  56.  
  57.  
  58. $usersC -> save();
  59.  
  60.  
  61.  
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68. $users = User::all();
  69. $users = User::where(['archive'=>1])->orderBy('id')->get();
  70. //email upload
  71. $thisUser = User::findOrFail($users->id);
  72. $this->sendEmail($thisUser);
  73.  
  74. return redirect()->to('userIndex')->with('users', $users);
  75.  
  76.  
  77. }
  78. public function verifyEmailFirst(Request $request)
  79. {
  80. //
  81. return view('usercrud.verifyEmailFirst');
  82. }
  83.  
  84. /* public function emailtoken(Request $request)
  85. {
  86. //
  87. return
  88.  
  89. } */
  90.  
  91. /**
  92. * Store a newly created resource in storage.
  93. *
  94. * @param \Illuminate\Http\Request $request
  95. * @return \Illuminate\Http\Response
  96. */
  97. public function store(Request $request)
  98. {
  99. //
  100. }
  101.  
  102. /**
  103. * Display the specified resource.
  104. *
  105. * @param int $id
  106. * @return \Illuminate\Http\Response
  107. */
  108. public function show($id)
  109. {
  110. //
  111. }
  112.  
  113. /**
  114. * Show the form for editing the specified resource.
  115. *
  116. * @param int $id
  117. * @return \Illuminate\Http\Response
  118. */
  119. public function edit($id)
  120. {
  121. //
  122. $users = User::where(['id'=>$id])->first();
  123.  
  124.  
  125. // dd($users);
  126.  
  127. return view('usercrud.edit',compact('users'));
  128. }
  129.  
  130. /**
  131. * Update the specified resource in storage.
  132. *
  133. * @param \Illuminate\Http\Request $request
  134. * @param int $id
  135. * @return \Illuminate\Http\Response
  136. */
  137. public function update(Request $request, $id)
  138. {
  139. //
  140. $usersUp = new User;
  141. $password = bcrypt($request->editpassword);
  142.  
  143.  
  144. // dd($request->editcompanyPos);
  145.  
  146. $usersUp = User::where('id',$id)
  147. ->update(['position'=>$request->editcompanyPos,'name'=>$request->editfullname,'email'=>$request->editemail,'password'=>$password,'roles'=>$request->editrole_id]);
  148.  
  149. $users = User::all();
  150. $users = User::where(['archive'=>1])->orderBy('id')->get();
  151.  
  152. return redirect()->to('userIndex')->with('users', $users);
  153. }
  154.  
  155. /**
  156. * Remove the specified resource from storage.
  157. *
  158. * @param int $id
  159. * @return \Illuminate\Http\Response
  160. */
  161. public function destroy($id)
  162. {
  163. $userDel = User::where('id',$id)->update(['archive'=>0]);
  164.  
  165. $users = User::all();
  166. $users = User::where(['archive'=>1])->orderBy('id')->get();
  167.  
  168. return redirect()->to('userIndex')->with('users', $users);
  169.  
  170. }
  171.  
  172. public function sendEmail($thisUser)
  173. {
  174. Mail::to($thisUser['email'])->send(new verifyEmail($thisUser));
  175. }
  176.  
  177. public function sendEmailDone($email, $verifyToken)
  178. {
  179. $user = User::where(['email'=>$email, 'verifyToken'=>$verifyToken])->first();
  180. //return $user;
  181. if ($user){
  182. return user::where(['email'=>$email, 'verifyToken'=>$verifyToken])->update(['status'=>'1','verifyToken'=>NULL]);
  183.  
  184. }else{
  185. return 'user not found';
  186. }
  187.  
  188. }
  189.  
  190.  
  191.  
  192. }
  193. ________________________________________________
  194. //web.php
  195.  
  196. Route::get('/', function () {
  197. return view('bgcbus');
  198. });
  199.  
  200. Auth::routes();
  201.  
  202. Route::get('/home', 'HomeController@index')->name('home');
  203. Route::get('/home/submitsurvey',['uses'=>'HomeController@submitsurvey','as'=>'surveysubmit']);
  204.  
  205.  
  206. Route::resource('/users', 'UserController');
  207.  
  208. //UserCreate
  209. Route::post('/create','UserController@create');
  210. Route::get('/userIndex','UserController@index');
  211. //User Update
  212. Route::match(['get','post'],'/userUpdate/{id}','UserController@update');
  213. //User Edit
  214. Route::get('/userEdit/{id}','UserController@edit');
  215. //User Delete
  216. Route::get('/userDelete/{id}','UserController@destroy');
  217.  
  218. //Bus
  219. Route::resource('/buses', 'BusController');
  220. //Bus Create
  221. Route::post('/buscreate','BusController@create');
  222. Route::get('/busindex','BusController@index');
  223. //Bus Edt
  224. Route::get('/busEdit/{id}','BusController@edit');
  225. //Bus Update
  226. Route::match(['get','post'],'/busUpdate/{id}','BusController@update');
  227. //Bus Delete
  228. Route::get('/busDelete/{id}','BusController@destroy');
  229.  
  230.  
  231. //Bus Routes
  232. Route::resource('/bgcroutes', 'BgcrouteController');
  233. //Bus Route create
  234. Route::post('/bgcroutecreate', 'BgcrouteController@create');
  235. Route::get('/bgcrouteindex', 'BgcrouteController@index');
  236. //Bus Route Edit
  237. Route::get('/bgcrouteEdit/{id}','BgcrouteController@edit');
  238. //Bus Route update
  239. Route::match(['get','post'],'/bgcrouteUpdate/{id}','BgcrouteController@update');
  240. //Bus Route Delete
  241. Route::get('/bgcrouteDelete/{id}','BgcrouteController@destroy');
  242.  
  243. //Questions
  244. Route::resource('/questions', 'SurveyquestionController');
  245. //Questions create
  246. Route::post('/questioncreate', 'SurveyquestionController@create');
  247. Route::get('/questionindex', 'SurveyquestionController@index');
  248. //Questions Edit
  249. Route::get('/questionEdit/{id}','SurveyquestionController@edit');
  250. //Questions update
  251. Route::match(['get','post'],'/questionUpdate/{id}','SurveyquestionController@update');
  252. //Questions Delete
  253. Route::get('/questionDelete/{id}','SurveyquestionController@destroy');
  254.  
  255. //Applying Active Value
  256. Route::post('/question/apply',['uses'=>'SurveyquestionController@apply','as'=>'applyQuestion']);
  257.  
  258. // Selecting Emoji
  259. Route::get('/home/surveyvote',['uses'=>'HomeController@surveyvote','as'=>'surveyvoting']);
  260.  
  261.  
  262.  
  263. //2ndQuestions
  264. Route::resource('/scndquestions', 'QuestionsurveyController');
  265. //2ndQuestions create
  266. Route::post('/scndquestionscreate', 'QuestionsurveyController@create');
  267. Route::get('/scndquestionsindex', 'QuestionsurveyController@index');
  268. //2ndQuestions Edit
  269. Route::get('/scndquestionsEdit/{id}','QuestionsurveyController@edit');
  270. //2ndQuestions update
  271. Route::match(['get','post'],'/scndquestionsUpdate/{id}','QuestionsurveyController@update');
  272. //2ndQuestions Delete
  273. Route::get('/scndquestionsDelete/{id}','QuestionsurveyController@destroy');
  274.  
  275. //Applying Active Value in 2nd Question
  276. Route::post('/scndquestion/setapply', ['uses' => 'QuestionsurveyController@setapply','as'=>'setapplyscndQuestion']);
  277.  
  278.  
  279.  
  280. //Dashboard
  281.  
  282. Route::get('/driverDashboard', 'DashboardfirstController@index');
  283.  
  284. Route::post('/driverDashboard/data',['uses'=>'ChartsController@getData','as'=>'getPiechart']);
  285.  
  286. //verification email
  287. Route::get('verify/{email}/{verifyToken}','UserController@sendEmailDone')->name('sendEmailDone');
  288.  
  289. ___________________________
  290. //verifyemail
  291. <?php
  292.  
  293. namespace App\Mail;
  294.  
  295. use Illuminate\Bus\Queueable;
  296. use Illuminate\Mail\Mailable;
  297. use Illuminate\Queue\SerializesModels;
  298. use Illuminate\Contracts\Queue\ShouldQueue;
  299. use App\User;
  300.  
  301. class verifyEmail extends Mailable
  302. {
  303. use Queueable, SerializesModels;
  304.  
  305. /**
  306. * Create a new message instance.
  307. *
  308. * @return void
  309. */
  310. public $user;
  311. public function __construct(User $user)
  312. {
  313. //
  314. $this->user=$user;
  315.  
  316. }
  317.  
  318. /**
  319. * Build the message.
  320. *
  321. * @return $this
  322. */
  323. public function build()
  324. {
  325. return $this->view('usercrud.sendView');
  326. }
  327. }
  328. __________________________
  329. //model
  330. //User
  331.  
  332. <?php
  333.  
  334. namespace App;
  335.  
  336. use Illuminate\Notifications\Notifiable;
  337. use Illuminate\Foundation\Auth\User as Authenticatable;
  338. use Illuminate\Support\Str;
  339.  
  340. class User extends Authenticatable
  341. {
  342. use Notifiable;
  343.  
  344. /**
  345. * The attributes that are mass assignable.
  346. *
  347. * @var array
  348. */
  349. protected $fillable = [
  350. 'name', 'email', 'password', 'position', 'roles', 'verifyToken'
  351. ];
  352.  
  353. /**
  354. * The attributes that should be hidden for arrays.
  355. *
  356. * @var array
  357. */
  358. protected $hidden = [
  359. 'password', 'remember_token',
  360. ];
  361. }
  362.  
  363. _________________
  364. //view
  365. //usercrud.index
  366. @extends ('layouts.dashboards')
  367.  
  368. @section('content')
  369.  
  370. <link rel="stylesheet" type="text/css" href="">
  371.  
  372. <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal"><i class="fa fa-user-plus"></i>
  373. </button>
  374.  
  375. <!-- Modal -->
  376. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  377. <div class="modal-dialog" role="document">
  378. <div class="modal-content">
  379. <div class="modal-header">
  380. <h5 class="modal-title" id="exampleModalLabel">Create New User's</h5>
  381. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  382. <span aria-hidden="true">&times;</span>
  383. </button>
  384. </div>
  385.  
  386. <div class="modal-body">
  387.  
  388.  
  389. <form method="post" action="{{url('create')}}" class="login">
  390. {{ csrf_field() }}
  391. <div class="form-group">
  392. <label for="exampleInputEmail1">Employee Number</label>
  393. <input name="empid" type="text" class="form-control" placeholder="Enter Employee Number">
  394. </div>
  395. <div class="form-group">
  396. <label for="exampleInputEmail1">Company Job Position</label>
  397. <input name="companyPos" type="text" class="form-control" placeholder="Enter Job Position">
  398. </div>
  399. <div class="form-group">
  400. <label for="exampleInputEmail1">Name</label>
  401. <input name="fullname" type="text" class="form-control" placeholder="Enter your Name">
  402. </div>
  403. <div class="form-group">
  404. <label for="exampleInputPassword1">E-mail</label>
  405. <input name="email" type="email" class="form-control" id="exampleInputPassword1" placeholder="Enter your E-MAIL">
  406. <small id="emailHelp" class="form-text text-muted">Please Enter E-mail</small>
  407. </div>
  408. <div class="form-group">
  409. <label for="exampleInputPassword1">Password</label>
  410. <input name="password" type="password" class="form-control" id="exampleInputPassword1" placeholder="Enter Password">
  411.  
  412. </div>
  413.  
  414. <div class="form-group">
  415. <label>Choose Type of User:</label>
  416. <select name="role_id" class="custom-select" id="inputGroupSelect04">
  417. <option selected>---Please Pick Type of User---</option>
  418. <option value="1">Admin</option>
  419. <option value="2">Dispatcher</option>
  420. <option value="3">Driver</option>
  421. </select>
  422. </div>
  423. <div class="form-group">
  424. <label>Upload Image</label>
  425. <input type="file" name="images" id="images">
  426. </div>
  427. <div class="modal-footer">
  428. <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
  429. <button type="submit" class="btn btn-primary">Submit</button>
  430. </div>
  431. </form>
  432. </div>
  433. </div>
  434. </div>
  435. </div>
  436.  
  437.  
  438. <div class="col-md-12">
  439.  
  440.  
  441. <div class="card-body table-full-width table-responsive">
  442. <h2>Driver's and Management Accounts</h2>
  443. <p>You can Create, Edit and Delete in here</p>
  444. <table id="myTable" ctable class="table table-hover table-striped" >
  445. <thead>
  446. <tr>
  447. <th>ID</th>
  448. <th>Position</th>
  449. <th>Name</th>
  450. <th>E-mail</th>
  451. <th>Action</th>
  452. </tr>
  453. </thead>
  454. <tbody>
  455. <tr>
  456. @foreach ($users as $value)
  457. <td>{{ $value->id }}</td>
  458. <td>{{ $value->position }}</td>
  459. <td>{{ $value->name }}</td>
  460. <td>{{ $value->email }}</td>
  461. <td>
  462. <a href="{{ url('userEdit', $value->id)}}" class="btn btn-primary"><i class="fa fa-edit"></i></a>
  463.  
  464. <a href="{{ url('userDelete', $value->id)}}" class="btn btn-danger"><i class="fa fa-trash"></i></a>
  465. </td>
  466. </tr>
  467. @endforeach
  468. </tbody>
  469. </table>
  470. </div>
  471. </div>
  472.  
  473.  
  474. <!-- $(document).ready(function(){
  475. $('#myTable').DataTable();
  476. });
  477. -->
  478.  
  479. @endsection
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement