Advertisement
Guest User

Untitled

a guest
Jan 17th, 2019
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.55 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6. use Carbon\Carbon;
  7. use App\Models\User;
  8. use App\Models\Office;
  9. use App\Models\BranchOfCompany;
  10.  
  11. class UserController extends Controller
  12. {
  13. public function get(Request $request)
  14. {
  15. if ($request->has('id')) {
  16. $id = $request->get('id');
  17. $item = User::find($id);
  18. if ($item) {
  19. return response()->json([
  20. 'item' => $item
  21. ], 200);
  22. }
  23. }
  24. return response()->json([
  25. 'message' => 'Błąd - nie znaleziono'
  26. ], 400);
  27. }
  28.  
  29. public function index(Request $request) {
  30. $search = $request->get('search');
  31. $filters = $request->get('filters');
  32. $pagination = $request->get('pagination');
  33. if ($pagination['rowsPerPage'] == -1) $pagination['rowsPerPage'] = 1000000;
  34.  
  35. $users = User::Query();
  36. $offices = Office::all();
  37. $branchOfCompany = BranchOfCompany::all();
  38.  
  39. if ($search) {
  40. $users = $users->where(function ($query) use ($search) {
  41. $query->where('name', 'like', '%'.$search.'%')
  42. ->orWhere('city', 'like', '%'.$search.'%')
  43. ->orWhere('telephone', 'like', '%'.$search.'%')
  44. ->orWhere('position', 'like', '%'.$search.'%')
  45. ->orWhere('skype', 'like', '%'.$search.'%')
  46. ->orWhere('email', 'like', '%'.$search.'%');
  47. });
  48. }
  49.  
  50. if ($filters) {
  51. if ($filters['privileges']) {
  52. foreach ($filters['privileges'] as $privilege) {
  53. $users = $users->where($privilege, 1);
  54. }
  55. }
  56. if ($filters['noPrivileges']) {
  57. foreach ($filters['noPrivileges'] as $privilege) {
  58. $users = $users->where($privilege, 0);
  59. }
  60. }
  61. }
  62.  
  63. if ($pagination['sortBy']) {
  64. $desc = 'ASC';
  65. if ($pagination['descending']) $desc = 'DESC';
  66. $users = $users->orderBy($pagination['sortBy'], $desc);
  67. }
  68.  
  69. $users = $users->paginate($pagination['rowsPerPage']);
  70.  
  71. return response()->json([
  72. 'content' => [
  73. 'users' => $users,
  74. 'offices' => $offices,
  75. 'branchOfCompany' => $branchOfCompany
  76. ],
  77. ], 200);
  78. }
  79.  
  80. public function createEdit(Request $request) {
  81. if ($request->has('item')) {
  82. $data = $request->get('item');
  83.  
  84. if ($data['id']) {
  85. $item = User::find($data['id']);
  86. $path= $item->path;
  87. $item->resetPrivileges();
  88. if (array_key_exists('password', $data) && $data['password']) {
  89. $item->password = bcrypt($data['password']);
  90. $item->password_expire_at = Carbon::now()->toDateTimeString();
  91. }
  92. } else {
  93. $item = new User;
  94. $item->password = bcrypt($data['password']);
  95. }
  96.  
  97. if($request->get('files') != []){
  98. $files = $request->get('files');
  99. $decodeFile = base64_decode(explode(",",$files[0]['file'])[1]);
  100. file_put_contents('img/usersImg/' . $files[0]['name'], $decodeFile);
  101. $path = $files[0]['name'];
  102. }
  103.  
  104.  
  105. if ($item) {
  106. $item->name = $data['name'];
  107. $item->email = $data['email'];
  108. $item->city = $data['city'];
  109. $item->telephone = $data['telephone'];
  110. $item->position = $data['position'];
  111. $item->skype = $data['skype'];
  112. $item->office_id = $data['office_id'];
  113. $item->path = $path;
  114. foreach ($data['privileges'] as $privilege) $item[$privilege] = 1;
  115. $item->save();
  116.  
  117. $message = 'Użytkownik został dodany poprawnie';
  118. if ($data['id']) $message = 'Użytkownik został edytowany poprawnie';
  119. return response()->json([
  120. 'message' => $message,
  121. 'user' => $item,
  122. ], 200);
  123. }
  124. }
  125.  
  126. return response()->json([
  127. 'error' => 'error',
  128. 'message' => 'Błąd!'
  129. ], 401);
  130. }
  131.  
  132. public function changePrivilege(Request $request) {
  133. if ($request->has('id')) $id = $request->get('id');
  134. $user = User::find($id);
  135.  
  136. if ($user) {
  137. $type = $request->get('type');
  138. $value = $request->get('value');
  139. $user->changePrivilege($type, $value);
  140. $user->save();
  141.  
  142. return response()->json([
  143. 'message' => 'Uprawnienie użytkownia zostało zmienione'
  144. ], 200);
  145. }
  146.  
  147. return response()->json([
  148. 'message' => 'Błąd - użytkownik nie znaleziony'
  149. ], 400);
  150. }
  151.  
  152. public function destroy(Request $request) {
  153. if ($request->has('id')) $id = $request->get('id');
  154. $user = User::find($id);
  155. if ($user) {
  156. $user->delete();
  157. return response()->json([
  158. 'message' => 'Użytkownik został usunięty'
  159. ], 200);
  160. }
  161.  
  162. return response()->json([
  163. 'message' => 'Błąd - użytkownik nie znaleziony'
  164. ], 400);
  165. }
  166.  
  167. public function userOfficeindex(Request $request) {
  168. $search = $request->get('search');
  169. $filters = $request->get('filters');
  170. $pagination = $request->get('pagination');
  171. $officeId = $request->get('officeId');
  172.  
  173. if ($pagination['rowsPerPage'] == -1) $pagination['rowsPerPage'] = 1000000;
  174.  
  175. $users = User::where('office_id', $request->get('officeId'));
  176. $offices = Office::all();
  177. $branchOfCompany = BranchOfCompany::all();
  178.  
  179.  
  180. if ($pagination['sortBy']) {
  181. $desc = 'ASC';
  182. if ($pagination['descending']) $desc = 'DESC';
  183. $users = $users->orderBy($pagination['sortBy'], $desc);
  184. }
  185.  
  186. $users = $users->paginate($pagination['rowsPerPage']);
  187.  
  188. return response()->json([
  189. 'content' => [
  190. 'users' => $users,
  191. 'offices' => $offices,
  192. 'branchOfCompany' => $branchOfCompany
  193. ],
  194. ], 200);
  195. }
  196.  
  197. public function getUsersToImageOffice(Request $request){
  198. $officeId = $request->get('officeId');
  199.  
  200. $items = User::where('office_id','=',$request->get('officeId'))->get();
  201. //$items = [$officeId];
  202. return response()->json([
  203. 'items' => $items
  204. ], 200);
  205. }
  206.  
  207. public function createXY(Request $request) {
  208. $x = $request->get('x');
  209. $y = $request->get('y');
  210.  
  211. if ($x && $y != 0) {
  212. $item = User::find($request->get('idUser'));
  213.  
  214. if ($item) {
  215. $item->x = $x;
  216. $item->y = $y;
  217. $item->save();
  218.  
  219.  
  220. if ($request->get('idUser')) $message = 'Użytkownik siedzi git';
  221. return response()->json([
  222. 'message' => $message,
  223. 'user' => $request->get('idUser'),
  224. ], 200);
  225. }
  226. }
  227.  
  228. return response()->json([
  229. 'error' => 'error',
  230. 'message' => 'Błąd!'
  231. ], 401);
  232. }
  233. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement