Skip to content
This repository was archived by the owner on Jun 22, 2022. It is now read-only.

Commit b9b25cc

Browse files
Merge pull request #110 from InfyOmLabs/develop
New Release 1.5.0-alpha
2 parents db55354 + dbc9c72 commit b9b25cc

File tree

77 files changed

+1040
-417
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+1040
-417
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ yarn-error.log
1414
/_ide_helper.php
1515
public/mix-manifest.json
1616
public/attachments/
17+
public/images/blue-custom.png

app/Exceptions/Handler.php

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,30 +54,32 @@ public function report(Exception $exception)
5454
public function render($request, Exception $exception)
5555
{
5656
$code = $exception->getCode();
57+
$message = $exception->getMessage();
5758
if ($code < 100 || $code >= 600) {
5859
$code = \Illuminate\Http\Response::HTTP_INTERNAL_SERVER_ERROR;
5960
}
6061

6162
if ($exception instanceof ModelNotFoundException) {
62-
return Response::json([
63-
'success' => false,
64-
'message' => $exception->getMessage(),
65-
], \Illuminate\Http\Response::HTTP_NOT_FOUND);
66-
}
67-
68-
if ($request->expectsJson() or $request->isXmlHttpRequest()) {
69-
if ($exception instanceof ValidationException) {
70-
$validator = $exception->validator;
63+
$message = $exception->getMessage();
64+
$code = \Illuminate\Http\Response::HTTP_NOT_FOUND;
7165

72-
return Response::json([
73-
'success' => false,
74-
'message' => $validator->errors()->first(),
75-
], \Illuminate\Http\Response::HTTP_UNPROCESSABLE_ENTITY);
66+
if (preg_match('@\\\\(\w+)\]@', $message, $matches)) {
67+
$model = $matches[1];
68+
$model = preg_replace('/Table/i', '', $model);
69+
$message = "{$model} not found.";
7670
}
71+
}
72+
73+
if ($exception instanceof ValidationException) {
74+
$validator = $exception->validator;
75+
$message = $validator->errors()->first();
76+
$code = \Illuminate\Http\Response::HTTP_UNPROCESSABLE_ENTITY;
77+
}
7778

79+
if ($request->expectsJson() or $request->isXmlHttpRequest()) {
7880
return Response::json([
7981
'success' => false,
80-
'message' => $exception->getMessage(),
82+
'message' => $message,
8183
], $code);
8284
}
8385

app/Http/Controllers/ActivityTypeController.php

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\Http\Requests\CreateActivityTypeRequest;
66
use App\Http\Requests\UpdateActivityTypeRequest;
7+
use App\Models\ActivityType;
78
use App\Queries\ActivityTypeDataTable;
89
use App\Repositories\ActivityTypeRepository;
910
use DataTables;
@@ -60,48 +61,42 @@ public function store(CreateActivityTypeRequest $request)
6061
/**
6162
* Show the form for editing the specified ActivityType.
6263
*
63-
* @param int $id
64+
* @param ActivityType $activityType
6465
*
6566
* @return JsonResponse
6667
*/
67-
public function edit($id)
68+
public function edit(ActivityType $activityType)
6869
{
69-
$activityType = $this->activityTypeRepository->findOrFail($id);
70-
7170
return $this->sendResponse($activityType, 'Activity Type retrieved successfully.');
7271
}
7372

7473
/**
7574
* Update the specified ActivityType in storage.
7675
*
77-
* @param int $id
76+
* @param ActivityType $activityType
7877
* @param UpdateActivityTypeRequest $request
7978
*
8079
* @return JsonResponse
8180
*/
82-
public function update($id, UpdateActivityTypeRequest $request)
81+
public function update(ActivityType $activityType, UpdateActivityTypeRequest $request)
8382
{
84-
$this->activityTypeRepository->findOrFail($id);
85-
86-
$this->activityTypeRepository->update($request->all(), $id);
83+
$this->activityTypeRepository->update($request->all(), $activityType->id);
8784

8885
return $this->sendSuccess('Activity Type updated successfully.');
8986
}
9087

9188
/**
9289
* Remove the specified ActivityType from storage.
9390
*
94-
* @param int $id
91+
* @param ActivityType $activityType
9592
*
9693
* @throws Exception
9794
*
9895
* @return JsonResponse
9996
*/
100-
public function destroy($id)
97+
public function destroy(ActivityType $activityType)
10198
{
102-
$this->activityTypeRepository->findOrFail($id);
103-
104-
$this->activityTypeRepository->delete($id);
99+
$activityType->delete();
105100

106101
return $this->sendSuccess('Activity Type deleted successfully.');
107102
}

app/Http/Controllers/ClientController.php

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\Http\Requests\CreateClientRequest;
66
use App\Http\Requests\UpdateClientRequest;
7+
use App\Models\Client;
78
use App\Queries\ClientDataTable;
89
use App\Repositories\ClientRepository;
910
use App\Repositories\ProjectRepository;
@@ -84,60 +85,54 @@ public function fill($input)
8485
/**
8586
* Show the form for editing the specified Client.
8687
*
87-
* @param int $id
88+
* @param Client $client
8889
*
8990
* @return JsonResponse
9091
*/
91-
public function edit($id)
92+
public function edit(Client $client)
9293
{
93-
$client = $this->clientRepository->findOrFail($id);
94-
9594
return $this->sendResponse($client, 'Client retrieved successfully.');
9695
}
9796

9897
/**
9998
* Update the specified Client in storage.
10099
*
101-
* @param int $id
100+
* @param Client $client
102101
* @param UpdateClientRequest $request
103102
*
104103
* @return JsonResponse
105104
*/
106-
public function update($id, UpdateClientRequest $request)
105+
public function update(Client $client, UpdateClientRequest $request)
107106
{
108-
$this->clientRepository->findOrFail($id);
109-
$this->clientRepository->update($this->fill($request->all()), $id);
107+
$this->clientRepository->update($this->fill($request->all()), $client->id);
110108

111109
return $this->sendSuccess('Client updated successfully.');
112110
}
113111

114112
/**
115113
* Remove the specified Client from storage.
116114
*
117-
* @param int $id
115+
* @param Client $client
118116
*
119117
* @throws Exception
120118
*
121119
* @return JsonResponse
122120
*/
123-
public function destroy($id)
121+
public function destroy(Client $client)
124122
{
125-
$this->clientRepository->findOrFail($id);
126-
$this->clientRepository->delete($id);
123+
$client->delete();
127124

128125
return $this->sendSuccess('Client deleted successfully.');
129126
}
130127

131128
/**
132-
* @param int $clientId
129+
* @param Request $request
133130
*
134131
* @return JsonResponse
135132
*/
136-
public function projects($clientId)
133+
public function projects(Request $request)
137134
{
138-
if ($clientId == 0) {
139-
$clientId = null;
140-
}
135+
$clientId = $request->get('client_id', null);
141136
$projects = $this->projectRepo->getProjectsList($clientId);
142137

143138
return $this->sendResponse($projects, 'Projects retrieved successfully.');

app/Http/Controllers/CommentController.php

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace App\Http\Controllers;
44

55
use App\Models\Comment;
6+
use App\Models\Task;
67
use App\Repositories\TaskRepository;
78
use Illuminate\Http\Request;
89

@@ -17,40 +18,44 @@ public function __construct(TaskRepository $taskRepo)
1718
}
1819

1920
/**
21+
* @param Task $task
2022
* @param Request $request
2123
*
2224
* @return \Illuminate\Http\JsonResponse
2325
*/
24-
public function addComment(Request $request)
26+
public function addComment(Task $task, Request $request)
2527
{
26-
$comment = $this->taskRepository->addComment($request->all());
28+
$input = $request->only(['comment']);
29+
$input['task_id'] = $task->id;
30+
$comment = $this->taskRepository->addComment($input);
2731

2832
return $this->sendResponse(['comment' => $comment], 'Comment has been added successfully.');
2933
}
3034

3135
/**
32-
* @param $id
36+
* @param Task $task
37+
* @param Comment $comment
3338
*
3439
* @throws \Exception
3540
*
3641
* @return \Illuminate\Http\JsonResponse
3742
*/
38-
public function deleteComment($id)
43+
public function deleteComment(Task $task, Comment $comment)
3944
{
40-
Comment::findOrFail($id)->delete();
45+
$comment->delete();
4146

4247
return $this->sendSuccess('Comment has been deleted successfully.');
4348
}
4449

4550
/**
46-
* @param $id
51+
* @param Task $task
52+
* @param Comment $comment
4753
* @param Request $request
4854
*
4955
* @return \Illuminate\Http\JsonResponse
5056
*/
51-
public function editComment($id, Request $request)
57+
public function editComment(Task $task, Comment $comment, Request $request)
5258
{
53-
$comment = Comment::findOrFail($id);
5459
$comment->comment = htmlentities($request->get('comment'));
5560
$comment->save();
5661

app/Http/Controllers/HomeController.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\Repositories\DashboardRepository;
66
use App\Repositories\UserRepository;
7+
use Auth;
78
use Illuminate\Http\Request;
89

910
class HomeController extends AppBaseController
@@ -44,6 +45,9 @@ public function index()
4445
*/
4546
public function workReport(Request $request)
4647
{
48+
if (!authUserHasPermission('manage_users')) {
49+
$request->request->set('user_id', Auth::id());
50+
}
4751
$data = $this->dashboardRepo->getWorkReport($request->all());
4852

4953
return $this->sendResponse($data, 'Work Report retrieved successfully.');

app/Http/Controllers/ProjectController.php

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,13 @@ public function store(CreateProjectRequest $request)
9090
/**
9191
* Show the form for editing the specified Project.
9292
*
93-
* @param int $id
93+
* @param Project $project
9494
*
9595
* @return JsonResponse|RedirectResponse
9696
*/
97-
public function edit($id)
97+
public function edit(Project $project)
9898
{
99-
/** @var Project $project */
100-
$project = $this->projectRepository->findOrFail($id, ['users']);
99+
$project->users;
101100
$users = $project->users->pluck('id')->toArray();
102101

103102
return $this->sendResponse(['project' => $project, 'users' => $users], 'Project retrieved successfully.');
@@ -106,19 +105,18 @@ public function edit($id)
106105
/**
107106
* Update the specified Client in storage.
108107
*
109-
* @param int $id
108+
* @param Project $project
110109
* @param UpdateProjectRequest $request
111110
*
112111
* @return JsonResponse|RedirectResponse
113112
*/
114-
public function update($id, UpdateProjectRequest $request)
113+
public function update(Project $project, UpdateProjectRequest $request)
115114
{
116-
$this->projectRepository->findOrFail($id);
117115
$input = $request->all();
118116
$input['description'] = is_null($input['description']) ? '' : $input['description'];
119117

120118
/** @var Project $project */
121-
$project = $this->projectRepository->update($input, $id);
119+
$project = $this->projectRepository->update($input, $project->id);
122120
$project->users()->sync($input['user_ids']);
123121

124122
return $this->sendSuccess('Project updated successfully.');
@@ -127,16 +125,15 @@ public function update($id, UpdateProjectRequest $request)
127125
/**
128126
* Remove the specified Project from storage.
129127
*
130-
* @param int $id
128+
* @param Project $project
131129
*
132130
* @throws Exception
133131
*
134132
* @return JsonResponse
135133
*/
136-
public function destroy($id)
134+
public function destroy(Project $project)
137135
{
138-
$this->projectRepository->findOrFail($id);
139-
$this->projectRepository->delete($id);
136+
$project->delete();
140137

141138
return $this->sendSuccess('Project deleted successfully.');
142139
}
@@ -152,14 +149,16 @@ public function getMyProjects()
152149
}
153150

154151
/**
155-
* @param int|array $projectIds
152+
* @param Request $request
156153
*
157154
* @return JsonResponse
158155
*/
159-
public function users($projectIds)
156+
public function users(Request $request)
160157
{
158+
$projectIds = $request->get('projectIds', null);
159+
161160
$projectIdsArr = [];
162-
if ($projectIds != 0) {
161+
if (!is_null($projectIds)) {
163162
$projectIdsArr = explode(',', $projectIds);
164163
}
165164
$users = $this->userRepository->getUserList($projectIdsArr);

0 commit comments

Comments
 (0)