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

Commit

Permalink
Merge pull request #406 from InfyOmLabs/develop
Browse files Browse the repository at this point in the history
Release V0.1.1-beta
  • Loading branch information
mitulgolakiya authored Oct 4, 2019
2 parents a759636 + 8794d6b commit c875c56
Show file tree
Hide file tree
Showing 32 changed files with 351 additions and 215 deletions.
9 changes: 5 additions & 4 deletions app/Http/Controllers/AppBaseController.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace App\Http\Controllers;

use Illuminate\Http\JsonResponse;
use InfyOm\Generator\Utils\ResponseUtil;
use Response;
use Validator;
Expand All @@ -15,7 +16,7 @@ class AppBaseController extends Controller
* @param array|mixed $result
* @param string $message
*
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function sendResponse($result, $message)
{
Expand All @@ -26,7 +27,7 @@ public function sendResponse($result, $message)
* @param string $error
* @param int $code
*
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function sendError($error, $code = 500)
{
Expand All @@ -36,7 +37,7 @@ public function sendError($error, $code = 500)
/**
* @param string $message
*
* @return \Illuminate\Http\JsonResponse
* @return JsonResponse
*/
public function sendSuccess($message)
{
Expand All @@ -51,7 +52,7 @@ public function sendSuccess($message)
* @param array $rules
* @param array $ruleMessage
*
* @return null|string
* @return null|string|void
*/
public function validateRules($request, $rules, $ruleMessage = [])
{
Expand Down
8 changes: 5 additions & 3 deletions app/Http/Controllers/TimeEntryController.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
use DataTables;
use Exception;
use Illuminate\Contracts\View\Factory;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
Expand Down Expand Up @@ -46,8 +47,8 @@ public function index(Request $request)
$request->only('filter_activity', 'filter_user', 'filter_project'))
)->editColumn('title', function (TimeEntry $timeEntry) {
return $timeEntry->task->prefix_task_number.' '.$timeEntry->task->title;
})->filterColumn('title', function ($query, $search) {
$query->where(function ($query) use ($search) {
})->filterColumn('title', function (Builder $query, $search) {
$query->where(function (Builder $query) use ($search) {
$query->where('title', 'like', "%$search%")
->orWhereRaw("concat(ifnull(p.prefix,''),'-',ifnull(t.task_number,'')) LIKE ?",
["%$search%"]);
Expand All @@ -71,6 +72,7 @@ public function store(CreateTimeEntryRequest $request)
{
$input = $this->validateInput($request->all());

$this->timeEntryRepository->assignTaskToAdmin($input);
$this->timeEntryRepository->create($input);
$this->timeEntryRepository->broadcastStopTimerEvent();

Expand Down Expand Up @@ -225,6 +227,6 @@ public function getStartTimer(Request $request)
{
$this->timeEntryRepository->broadcastStartTimerEvent($request->all());

return $this->sendSuccess('Start timer broadcasted successfully.');
return $this->sendSuccess('Start timer broadcasts successfully.');
}
}
12 changes: 12 additions & 0 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Crypt;
use DataTables;
use Exception;
use Hash;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
Expand Down Expand Up @@ -92,6 +93,11 @@ public function store(CreateUserRequest $request)
$input = $request->all();
$input['created_by'] = getLoggedInUserId();
$input['activation_code'] = uniqid();
if (!empty($input['password']) && \Auth::user()->can('manage_users')) {
$input['password'] = Hash::make($input['password']);
} else {
unset($input['password']);
}
$input['is_active'] = (isset($input['is_active']) && !empty($input['is_active'])) ? 1 : 0;
/** @var User $user */
$user = $this->userRepository->create($input);
Expand Down Expand Up @@ -146,6 +152,12 @@ public function update(User $user, UpdateUserRequest $request)
$projectIds = [];
$input = $request->all();

if (!empty($input['password']) && \Auth::user()->can('manage_users')) {
$input['password'] = Hash::make($input['password']);
} else {
unset($input['password']);
}

$input['is_active'] = (isset($input['is_active']) && !empty($input['is_active'])) ? 1 : 0;
/** @var User $user */
$user = $this->userRepository->update($input, $user->id);
Expand Down
10 changes: 6 additions & 4 deletions app/Http/Requests/UpdateUserRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,12 @@ public function rules()
{
$id = $this->route('user')->id;
$rules = [
'name' => 'required|unique:users,name,'.$id,
'email' => 'required|email|unique:users,email,'.$id.'|regex:/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/',
'phone' => 'nullable|numeric|digits:10',
'role_id' => 'required',
'name' => 'required|unique:users,name,'.$id,
'email' => 'required|email|unique:users,email,'.$id.'|regex:/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/',
'phone' => 'nullable|numeric|digits:10',
'role_id' => 'required',
'password' => 'nullable|min:6|required_with:password_confirmation|same:password_confirmation',
'password_confirmation' => 'nullable|min:6',
];

return $rules;
Expand Down
12 changes: 7 additions & 5 deletions app/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,12 @@ class User extends Authenticatable
* @var array
*/
public static $rules = [
'name' => 'required|unique:users,name',
'email' => 'required|email|unique:users,email|regex:/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/',
'phone' => 'nullable|numeric|digits:10',
'role_id' => 'required',
'name' => 'required|unique:users,name',
'email' => 'required|email|unique:users,email|regex:/^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/',
'phone' => 'nullable|numeric|digits:10',
'role_id' => 'required',
'password' => 'nullable|min:6|required_with:password_confirmation|same:password_confirmation',
'password_confirmation' => 'nullable|min:6',
];

public static $messages = [
Expand Down Expand Up @@ -153,7 +155,7 @@ public function sendPasswordResetNotification($token)
*/
public function projects()
{
return $this->belongsToMany('App\Models\Project');
return $this->belongsToMany(Project::class);
}

/**
Expand Down
50 changes: 27 additions & 23 deletions app/Repositories/BaseRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

namespace App\Repositories;

use Exception;
use Illuminate\Container\Container as Application;
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\ModelNotFoundException;

Expand All @@ -21,32 +25,18 @@ abstract class BaseRepository
/**
* @param Application $app
*
* @throws \Exception
* @throws Exception
*/
public function __construct(Application $app)
{
$this->app = $app;
$this->makeModel();
}

/**
* Get searchable fields array.
*
* @return array
*/
abstract public function getFieldsSearchable();

/**
* Configure the Model.
*
* @return string
*/
abstract public function model();

/**
* Make Model instance.
*
* @throws \Exception
* @throws Exception
*
* @return Model
*/
Expand All @@ -55,19 +45,26 @@ public function makeModel()
$model = $this->app->make($this->model());

if (!$model instanceof Model) {
throw new \Exception("Class {$this->model()} must be an instance of Illuminate\\Database\\Eloquent\\Model");
throw new Exception("Class {$this->model()} must be an instance of Illuminate\\Database\\Eloquent\\Model");
}

return $this->model = $model;
}

/**
* Configure the Model.
*
* @return string
*/
abstract public function model();

/**
* Paginate records for scaffold.
*
* @param int $perPage
* @param array $columns
*
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
* @return LengthAwarePaginator
*/
public function paginate($perPage, $columns = ['*'])
{
Expand All @@ -83,7 +80,7 @@ public function paginate($perPage, $columns = ['*'])
* @param int|null $skip
* @param int|null $limit
*
* @return \Illuminate\Database\Eloquent\Builder
* @return Builder
*/
public function allQuery($search = [], $skip = null, $limit = null)
{
Expand All @@ -108,6 +105,13 @@ public function allQuery($search = [], $skip = null, $limit = null)
return $query;
}

/**
* Get searchable fields array.
*
* @return array
*/
abstract public function getFieldsSearchable();

/**
* Retrieve all records with given filter criteria.
*
Expand All @@ -116,7 +120,7 @@ public function allQuery($search = [], $skip = null, $limit = null)
* @param int|null $limit
* @param array $columns
*
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection
* @return LengthAwarePaginator|Builder[]|Collection
*/
public function all($search = [], $skip = null, $limit = null, $columns = ['*'])
{
Expand Down Expand Up @@ -147,7 +151,7 @@ public function create($input)
* @param int $id
* @param array $columns
*
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|Model|null
* @return Builder|Builder[]|Collection|Model|null
*/
public function find($id, $columns = ['*'])
{
Expand All @@ -162,7 +166,7 @@ public function find($id, $columns = ['*'])
* @param array $input
* @param int $id
*
* @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|Model
* @return Builder|Builder[]|Collection|Model
*/
public function update($input, $id)
{
Expand All @@ -180,7 +184,7 @@ public function update($input, $id)
/**
* @param int $id
*
* @throws \Exception
* @throws Exception
*
* @return bool|mixed|null
*/
Expand Down
70 changes: 35 additions & 35 deletions app/Repositories/DashboardRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,41 @@ public function getWorkReport($input)
return $result;
}

/**
* @param $startDate
* @param $endDate
*
* @return array
*/
public function getDate($startDate, $endDate)
{
$dateArr = [];
$subStartDate = '';
$subEndDate = '';
if ($startDate && $endDate) {
$end = trim(substr($endDate, 0, 10));
$start = Carbon::parse($startDate)->toDateString();
$startDate = Carbon::createFromFormat('Y-m-d', $start);
$endDate = Carbon::createFromFormat('Y-m-d', $end);

while ($startDate <= $endDate) {
$dateArr[] = $startDate->copy()->format('Y-m-d');
$startDate->addDay();
}
$start = current($dateArr);
$endDate = end($dateArr);
$subStartDate = Carbon::parse($start)->startOfDay()->format('Y-m-d H:i:s');
$subEndDate = Carbon::parse($endDate)->endOfDay()->format('Y-m-d H:i:s');
}
$data = [
'dateArr' => $dateArr,
'startDate' => $subStartDate,
'endDate' => $subEndDate,
];

return $data;
}

/**
* @param $input
*
Expand Down Expand Up @@ -121,39 +156,4 @@ public function getDeveloperWorkReport($input)

return $data;
}

/**
* @param $startDate
* @param $endDate
*
* @return array
*/
public function getDate($startDate, $endDate)
{
$dateArr = [];
$subStartDate = '';
$subEndDate = '';
if ($startDate && $endDate) {
$end = trim(substr($endDate, 0, 10));
$start = Carbon::parse($startDate)->toDateString();
$startDate = Carbon::createFromFormat('Y-m-d', $start);
$endDate = Carbon::createFromFormat('Y-m-d', $end);

while ($startDate <= $endDate) {
$dateArr[] = $startDate->copy()->format('Y-m-d');
$startDate->addDay();
}
$start = current($dateArr);
$endDate = end($dateArr);
$subStartDate = Carbon::parse($start)->startOfDay()->format('Y-m-d H:i:s');
$subEndDate = Carbon::parse($endDate)->endOfDay()->format('Y-m-d H:i:s');
}
$data = [
'dateArr' => $dateArr,
'startDate' => $subStartDate,
'endDate' => $subEndDate,
];

return $data;
}
}
Loading

0 comments on commit c875c56

Please sign in to comment.