Hi Im working on a CRM application with laravel 9 and everything is working fine with me so far.
i have a section that called Project System
when i tried to add a new project it goes well and i can added successfully and i see the project in the database but it wont show in the view even it exist on The DB.
Here is my code:
```
@if(Auth::user()->show_project() == 1)
@if( Gate::check('manage project'))
<li class="menu-item {{ ( Request::segment(1) == 'project' || Request::segment(1) == 'bugs-report' || Request::segment(1) == 'bugstatus' ||
Request::segment(1) == 'project-task-stages' || Request::segment(1) == 'calendar' || Request::segment(1) == 'timesheet-list' ||
Request::segment(1) == 'taskboard' || Request::segment(1) == 'timesheet-list' || Request::segment(1) == 'taskboard' ||
Request::segment(1) == 'project' || Request::segment(1) == 'projects'|| Request::segment(1) == 'time-tracker' || Request::segment(1) == 'project_report') ? 'active open' : ''}}">
<a href="#" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-color-swatch"></i>
<div data-i18n="{{__('Project System')}}">{{__('Project System')}}</div>
</a>
<ul class="menu-sub">
@can('manage project')
<li class="menu-item {{Request::segment(1) == 'project' || Request::route()->getName() == 'projects.list' || Request::route()->getName() == 'projects.list' ||Request::route()->getName() == 'projects.index' || Request::route()->getName() == 'projects.show' || request()->is('projects/*') ? 'active' : ''}}">
<a href="{{route('projects.index')}}" class="menu-link">
<div data-i18n="{{__('Projects')}}">{{__('Projects')}}</div>
</a>
</li>
@endcan```
Project Controller
{
/**
* Display a listing of the resource.
*
* @return IlluminateHttpResponse
*/
public function index($view = 'grid')
{
if(Auth::user()->can('manage project'))
{
return view('projects.index', compact('view'));
}
else
{
return redirect()->back()->with('error', __('Permission Denied.'));
}
}
/**
* Show the form for creating a new resource.
*
* @return IlluminateHttpResponse
*/
public function create()
{
if(Auth::user()->can('create project'))
{
$users = User::where('created_by', '=', Auth::user()->creatorId())->where('type', '!=', 'client')->get()->pluck('name', 'id');
$clients = User::where('created_by', '=', Auth::user()->creatorId())->where('type', '=', 'client')->get()->pluck('name', 'id');
$clients->prepend('Select Client', '');
$users->prepend('Select User', '');
return view('projects.create', compact('clients','users'));
}
else
{
return redirect()->back()->with('error', __('Permission Denied.'));
}
}
/**
* Store a newly created resource in storage.
*
* @param IlluminateHttpRequest $request
* @return IlluminateHttpResponse
*/
public function store(Request $request)
{
if(Auth::user()->can('create project'))
{
$validator = Validator::make(
$request->all(), [
'project_name' => 'required',
'project_image' => 'required',
]
);
if($validator->fails())
{
return redirect()->back()->with('error', Utility::errorFormat($validator->getMessageBag()));
}
$project = new Project();
$project->project_name = $request->project_name;
$project->start_date = date("Y-m-d H:i:s", strtotime($request->start_date));
$project->end_date = date("Y-m-d H:i:s", strtotime($request->end_date));
if($request->hasFile('project_image'))
{
$imageName = time() . '.' . $request->project_image->extension();
$request->file('project_image')->storeAs('projects', $imageName);
$project->project_image = 'projects/'.$imageName;
}
$project->client_id = $request->client;
$project->budget = !empty($request->budget) ? $request->budget : 0;
$project->description = $request->description;
$project->status = $request->status;
$project->estimated_hrs = $request->estimated_hrs;
$project->tags = $request->tag;
$project->created_by = Auth::user()->creatorId();
$project->save();
if(Auth::user()->type=='company'){
ProjectUser::create(
[
'project_id' => $project->id,
'user_id' => Auth::user()->id,
]
);
if($request->user){
foreach($request->user as $key => $value) {
ProjectUser::create(
[
'project_id' => $project->id,
'user_id' => $value,
]
);
}
}
}else{
ProjectUser::create(
[
'project_id' => $project->id,
'user_id' => Auth::user()->creatorId(),
]
);
ProjectUser::create(
[
'project_id' => $project->id,
'user_id' => Auth::user()->id,
]
);
if($request->user){
foreach($request->user as $key => $value) {
ProjectUser::create(
[
'project_id' => $project->id,
'user_id' => $value,
]
);
}
}
}
//Slack Notification
$setting = Utility::settings(Auth::user()->creatorId());
if(isset($setting['project_notification']) && $setting['project_notification'] ==1){
$msg = $request->project_name.' '.__(" created by").' ' .Auth::user()->name.'.';
Utility::send_slack_msg($msg);
}
//Telegram Notification
$setting = Utility::settings(Auth::user()->creatorId());
if(isset($setting['telegram_project_notification']) && $setting['telegram_project_notification'] ==1){
$msg = __("New").' '.$request->project_name.' '.__("project").' '.__(" created by").' ' .Auth::user()->name.'.';
Utility::send_telegram_msg($msg);
}
return redirect()->route('projects.index')->with('success', __('Project Add Successfully'));
}
else
{
return redirect()->back()->with('error', __('Permission Denied.'));
}
}