1568702225s:29936:"<h1>Version 3.0.0</h1>
<hr />
<ul>
<li><a href="#section-1">Overview</a></li>
<li><a href="#section-2">Privileges</a></li>
<li><a href="#section-3">Views</a></li>
<li><a href="#section-4">Routes</a></li>
<li><a href="#section-5">Controllers</a></li>
</ul>
<p><a name="section-1"></a></p>
<h2>Overview</h2>
<p>This version allows user to view data of all the staffs that are in his/her group. This access is usually given to group admins
<br><br></p>
<p><a name="section-2"></a></p>
<h2>Privileges</h2>
<p>Privileges used are as follows:<br>
<b>ACCESS_GROUP_VIEW </b>- Access to view group tasks.</p>
<p><a name="section-3"></a></p>
<h2>Views</h2>
<p>Go to <code>layouts/app.php</code> and edit below codes:</p>
<pre><code class="language-php">      @if(ConfigController::check_privilege('ACCESS_GROUP_VIEW'))
      &lt;li role="presentation" @if(Request::is('task.group.view'))class="active"@endif&gt;&lt;a href="{{url('/task.group.view')}}"&gt;Group View&lt;/a&gt;&lt;/li&gt;  
      @endif</code></pre>
<p><br><br>
Now create a file inside <code>resources/views/tasks</code> named as <code>group_task.blade.php</code></p>
<pre><code class="language-php">
@extends('layouts.app')

@section('content')
&lt;?php use App\Http\Controllers\ConfigController; ?&gt;
&lt;div class="container-full"&gt;

            @if(count($tasks)&lt;&gt;0)
            &lt;div class="panel panel-default"&gt;
                &lt;div class="panel-heading"&gt;
                    Tasks
                &lt;/div&gt;
                &lt;div class="panel-body"&gt;

                        &lt;div id="no-more-tables" class="table-responsive"&gt;
                        &lt;table class="col-md-12  table table-hover"&gt;
                            &lt;thead class="cf"&gt;
                                &lt;th&gt;#&lt;/th&gt;
                                &lt;th &gt;Task&lt;/th&gt;
                                &lt;th&gt;Description&lt;/th&gt;
                                &lt;th&gt;Priority&lt;/th&gt;
                                &lt;th&gt;Assignee&lt;/th&gt;
                                &lt;th&gt;Due Date&lt;/th&gt;
                                &lt;th&gt;Market For&lt;/th&gt;
                                &lt;th&gt;Status&lt;/th&gt;
                                &lt;th&gt;Dependency&lt;/th&gt;
                                &lt;th style="width:20px;"&gt;Comments&lt;/th&gt;
                                &lt;th&gt;Next Steps&lt;/th&gt;
                            &lt;/thead&gt;
                            &lt;tbody&gt;
                                &lt;!--Loops in the tasks table and fetches all data in a row--&gt;
                                @foreach($tasks as $task)

                                    &lt;!-- picks the priority and assigns class to it--&gt;
                                    &lt;tr 
                                        href="{{ url('/details') }}/{{ $task-&gt;id }}"&gt;

                                        &lt;!--Priority ends--&gt;

                                        &lt;td data-title="#" class="table-text"&gt;&lt;div&gt;&lt;a href="{{ url('/details') }}/{{ $task-&gt;id }}" style="color:black;"&gt;{{ $task-&gt;id }}&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Task" class="table-text"&gt;&lt;div&gt;{{ $task-&gt;task_name }}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Task Description"class="table-text"&gt;&lt;div style="width:250px;overflow:auto;"&gt;{!! nl2br($task-&gt;task_desc) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Priority" class="table-text"&gt;&lt;div&gt;{!! nl2br($task-&gt;priority) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Assignees" class="table-text"&gt;&lt;div&gt;{!! nl2br(ConfigController::get_workers($task-&gt;id)) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Due Date"class="table-text"&gt;&lt;div&gt;{!! nl2br($task-&gt;date_due) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Market For"class="table-text"&gt;&lt;div&gt;
                                        &lt;?php
                                            $markets = DB::table('markets')
                                                 -&gt;where('task_id',$task-&gt;id)
                                                 -&gt;get();

                                                        $mcount= count($markets);
                                                        $i = 1;

                                                        foreach ($markets as $market) {
                                                        echo $market-&gt;market;

                                                            if ($i &lt; $mcount) {
                                                                echo", ";
                                                                $i = $i+1;
                                                            }
                                                        }

                                        ?&gt;

                                        &lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Status"class="table-text"&gt;&lt;div&gt;{!! nl2br($task-&gt;status) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Dependency"class="table-text"&gt;&lt;div&gt;

                                                &lt;?php
                                                    //to fetch data from dependency db
                                                            $dependency= DB::table('dependency')
                                                            -&gt;where('task_id', '=', $task-&gt;id)
                                                            -&gt;orderBy('id', 'desc')
                                                            -&gt;take(1)
                                                            -&gt;get();
                                                    ?&gt;  
                                                    @foreach($dependency as $dependencys)
                                                        @if($task-&gt;id == $dependencys-&gt;task_id)
                                                        &lt;!--&lt;b style="font-size:10px"&gt;Updated on: {{$dependencys-&gt;created_at}}&lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:9px"&gt;{!!nl2br($dependencys-&gt;dependency)!!} &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
                                                        --&gt;
                                                        {!!nl2br($dependencys-&gt;dependency)!!}
                                                    @endif

                                                    @endforeach

                                        &lt;/div&gt;&lt;/td&gt;

                                        &lt;td data-title="Comments"class="table-text" style="width:20px;"&gt;&lt;div style="width:300px;overflow:auto;"&gt;

                                                    &lt;?php
                                                    //to fetch data from comments db
                                                            $comments= DB::table('comments')
                                                            -&gt;where('task_id', '=', $task-&gt;id)
                                                            -&gt;orderBy('id', 'desc')
                                                            -&gt;take(2)
                                                            -&gt;get();
                                                    ?&gt;  
                                                    @foreach($comments as $comment)
                                                        @if($task-&gt;id == $comment-&gt;task_id)
                                                        &lt;b style="font-size:.7em; color:#cc0044;"&gt;Updated on: {{$comment-&gt;created_at}}
                                                                &lt;?php
                                                                $users = DB::table('users')
                                                                        -&gt;where('id','=',$comment-&gt;user_id)
                                                                        -&gt;get();
                                                                    foreach ($users as $user ) {
                                                                        echo "&lt;/br&gt;Updated by ".$user-&gt;name;
                                                                    }
                                                            ?&gt;
                                                        &lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:.9em;"&gt;{!!($comment-&gt;comment)!!}&lt;/p&gt;

                                                        @endif

                                                    @endforeach

                                            &lt;/div&gt;
                                        &lt;/td&gt;

                                            &lt;td data-title="Next Steps" class="table-text"&gt;&lt;div style="width:300px;overflow:auto;"&gt;
                                            &lt;?php
                                                    //to fetch data from nextsteps db
                                                    $nextsteps= DB::table('nextsteps')
                                                    -&gt;where('task_id', '=', $task-&gt;id)
                                                    -&gt;orderBy('id', 'desc')
                                                    -&gt;take(2)
                                                    -&gt;get();
                                            ?&gt;  
                                            @foreach($nextsteps as $nextstep)
                                                @if($task-&gt;id == $nextstep-&gt;task_id)
                                                        &lt;b style="font-size:.7em; color:#cc0044;"&gt;Updated on: {{$nextstep-&gt;created_at}}
                                                            &lt;?php

                                                                $users = DB::table('users')
                                                                        -&gt;where('id','=',$nextstep-&gt;user_id)
                                                                        -&gt;get();
                                                                    foreach ($users as $user ) {
                                                                        echo "&lt;/br&gt;Updated by ".$user-&gt;name;
                                                                    }
                                                            ?&gt;
                                                        &lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:.9em;"&gt;{!!($nextstep-&gt;nextstep)!!}&lt;/p&gt;

                                                @endif
                                            @endforeach

                                        &lt;/div&gt;&lt;/td&gt;

                                    &lt;/tr&gt;
                                @endforeach

                                &lt;?php 
                                    //echo $tasks-&gt;render();
                                ?&gt;

                            &lt;/tbody&gt;
                        &lt;/table&gt;
                    &lt;/div&gt;
                &lt;/div&gt;

            @else

            @endif
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

    @endsection</code></pre>
<p><br><br></p>
<p><u>Search Views</u><br>
Edit <code>resources/views/tasks/searchTask.blade.php</code> with below content</p>
<pre><code class="language-php">
@extends('layouts.app')

@section('content')

&lt;div class="container"&gt;
    &lt;div  class="col-sm-offset-3 col-sm-6"&gt;
    &lt;div class="panel panel-default"&gt;
            &lt;div class="panel-heading"&gt;
                Search Tasks
            &lt;/div&gt;
                &lt;div class="panel-body"&gt;
                    &lt;form action="{{ url('/searchTask') }}" method="POST" class="form-horizontal" id="searchTask"&gt;
                                        {{ csrf_field() }}

                        &lt;div class="form-group"&gt;
                            &lt;label for="type" class="col-sm-offset-1 col-sm-3 control-label"&gt;Search Type&lt;/label&gt;

                            &lt;div class="col-sm-6"&gt;
                                &lt;select class="form-control" name="search_type"&gt;
                                    &lt;option value="id"&gt;Task ID&lt;/option&gt;
                                    &lt;option value="name"&gt;Task Name&lt;/option&gt;
                                    &lt;option value="desc"&gt;Task Description&lt;/option&gt;
                                &lt;/select&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;

                        &lt;div class="form-group"&gt;
                                &lt;label for="type" class="col-sm-offset-1 col-sm-3 control-label"&gt;Search Term&lt;/label&gt;

                                &lt;div class="col-sm-6"&gt;
                                    &lt;input type="text" name="search_term" id="search_term" class="form-control" &gt;
                                &lt;/div&gt;
                        &lt;/div&gt;

                        &lt;div class="form-group"&gt;
                            &lt;div class="col-sm-offset-5 col-sm-6"&gt;
                                &lt;button type="submit" class="btn btn-success"&gt;
                                    &lt;i class="fa fa-btn fa-search"&gt;&lt;/i&gt;Search
                                &lt;/button&gt;
                            &lt;/div&gt;
                        &lt;/div&gt;

                    &lt;/form&gt;
                &lt;/div&gt;
            &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;div class="container-full" id="data"&gt;

&lt;/div&gt;

&lt;script type="text/javascript"&gt;
    $(document).ready(function(){
        $('#searchTask').submit(function(e){
            e.preventDefault();

            var data, url;

            data = $(this).serialize();
            url = $(this).attr('action');

            $.ajax({
                type:'post',
                url: url,
                data: data,
                success:function(data){
                    if(data.html){
                        $('#data').html(data.html);
                    }
                },
                error:function(data){
                    alert('Error, Please contact your administrator.');
                }
            });

        });
    });
&lt;/script&gt;
@endsection
</code></pre>
<p><br><br>
Now add new file inside <code>resources/views/tasks/</code> as <code>data.blade.php</code> and add the below content in the file.</p>
<pre><code class="language-php">
&lt;?php use App\Http\Controllers\ConfigController; ?&gt;     
            @if(count($tasks)&lt;&gt;0)
            &lt;div class="panel panel-default"&gt;
                &lt;div class="panel-heading"&gt;
                    Tasks
                &lt;/div&gt;
                &lt;div class="panel-body"&gt;

                        &lt;div id="no-more-tables" class="table-responsive"&gt;
                        &lt;table class="col-md-12  table table-hover"&gt;
                            &lt;thead class="cf"&gt;
                                &lt;th&gt;#&lt;/th&gt;
                                &lt;th &gt;Task&lt;/th&gt;
                                &lt;th&gt;Description&lt;/th&gt;
                                &lt;th&gt;Priority&lt;/th&gt;
                                &lt;th&gt;Assignee&lt;/th&gt;
                                &lt;th&gt;Due Date&lt;/th&gt;
                                &lt;th&gt;Market For&lt;/th&gt;
                                &lt;th&gt;Status&lt;/th&gt;
                                &lt;th&gt;Dependency&lt;/th&gt;
                                &lt;th style="width:20px;"&gt;Comments&lt;/th&gt;
                                &lt;th&gt;Next Steps&lt;/th&gt;
                            &lt;/thead&gt;
                            &lt;tbody&gt;
                                &lt;!--Loops in the tasks table and fetches all data in a row--&gt;
                                @foreach($tasks as $task)

                                    &lt;!-- picks the priority and assigns class to it--&gt;
                                    &lt;tr 
                                        href="{{ url('/details') }}/{{ $task-&gt;id }}"&gt;

                                        &lt;!--Priority ends--&gt;

                                        &lt;td data-title="#" class="table-text"&gt;&lt;div&gt;&lt;a href="{{ url('/details') }}/{{ $task-&gt;id }}" style="color:black;"&gt;{{ $task-&gt;id }}&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Task" class="table-text"&gt;&lt;div&gt;{{ $task-&gt;task_name }}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Task Description"class="table-text"&gt;&lt;div style="width:250px;overflow:auto;"&gt;{!! nl2br($task-&gt;task_desc) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Priority" class="table-text"&gt;&lt;div&gt;{!! nl2br($task-&gt;priority) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Assignees" class="table-text"&gt;&lt;div&gt;{!! nl2br(ConfigController::get_workers($task-&gt;id)) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Due Date"class="table-text"&gt;&lt;div&gt;{@!! nl2br($task-&gt;date_due) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Market For"class="table-text"&gt;&lt;div&gt;
                                        &lt;?php
                                            $markets = DB::table('markets')
                                                 -&gt;where('task_id',$task-&gt;id)
                                                 -&gt;get();

                                                        $mcount= count($markets);
                                                        $i = 1;

                                                        foreach ($markets as $market) {
                                                        echo $market-&gt;market;

                                                            if ($i &lt; $mcount) {
                                                                echo", ";
                                                                $i = $i+1;
                                                            }
                                                        }

                                        ?&gt;

                                        &lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Status"class="table-text"&gt;&lt;div&gt;{!! nl2br($task-&gt;status) !!}&lt;/div&gt;&lt;/td&gt;
                                        &lt;td data-title="Dependency"class="table-text"&gt;&lt;div&gt;

                                                &lt;?php
                                                    //to fetch data from dependency db
                                                            $dependency= DB::table('dependency')
                                                            -&gt;where('task_id', '=', $task-&gt;id)
                                                            -&gt;orderBy('id', 'desc')
                                                            -&gt;take(1)
                                                            -&gt;get();
                                                    ?&gt;  
                                                    @foreach($dependency as $dependencys)
                                                        @if($task-&gt;id == $dependencys-&gt;task_id)
                                                        &lt;!--&lt;b style="font-size:10px"&gt;Updated on: {{$dependencys-&gt;created_at}}&lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:9px"&gt;{!!nl2br($dependencys-&gt;dependency)!!} &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
                                                        --&gt;
                                                        {!!nl2br($dependencys-&gt;dependency)!!}
                                                    @endif

                                                    @endforeach

                                        &lt;/div&gt;&lt;/td&gt;

                                        &lt;td data-title="Comments"class="table-text" style="width:20px;"&gt;&lt;div style="width:300px;overflow:auto;"&gt;

                                                    &lt;?php
                                                    //to fetch data from comments db
                                                            $comments= DB::table('comments')
                                                            -&gt;where('task_id', '=', $task-&gt;id)
                                                            -&gt;orderBy('id', 'desc')
                                                            -&gt;take(2)
                                                            -&gt;get();
                                                    ?&gt;  
                                                    @foreach($comments as $comment)
                                                        @if($task-&gt;id == $comment-&gt;task_id)
                                                        &lt;b style="font-size:.7em; color:#cc0044;"&gt;Updated on: {{$comment-&gt;created_at}}
                                                                &lt;?php
                                                                $users = DB::table('users')
                                                                        -&gt;where('id','=',$comment-&gt;user_id)
                                                                        -&gt;get();
                                                                    foreach ($users as $user ) {
                                                                        echo "&lt;/br&gt;Updated by ".$user-&gt;name;
                                                                    }
                                                            ?&gt;
                                                        &lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:.9em;"&gt;{!!($comment-&gt;comment)!!}&lt;/p&gt;

                                                        @endif

                                                    @endforeach

                                            &lt;/div&gt;
                                        &lt;/td&gt;

                                            &lt;td data-title="Next Steps" class="table-text"&gt;&lt;div style="width:300px;overflow:auto;"&gt;
                                            &lt;?php
                                                    //to fetch data from nextsteps db
                                                    $nextsteps= DB::table('nextsteps')
                                                    -&gt;where('task_id', '=', $task-&gt;id)
                                                    -&gt;orderBy('id', 'desc')
                                                    -&gt;take(2)
                                                    -&gt;get();
                                            ?&gt;  
                                            @foreach($nextsteps as $nextstep)
                                                @if($task-&gt;id == $nextstep-&gt;task_id)
                                                        &lt;b style="font-size:.7em; color:#cc0044;"&gt;Updated on: {{$nextstep-&gt;created_at}}
                                                            &lt;?php

                                                                $users = DB::table('users')
                                                                        -&gt;where('id','=',$nextstep-&gt;user_id)
                                                                        -&gt;get();
                                                                    foreach ($users as $user ) {
                                                                        echo "&lt;/br&gt;Updated by ".$user-&gt;name;
                                                                    }
                                                            ?&gt;
                                                        &lt;/b&gt;&lt;br /&gt;
                                                        &lt;p style="font-size:.9em;"&gt;{!!($nextstep-&gt;nextstep)!!}&lt;/p&gt;

                                                @endif
                                            @endforeach

                                        &lt;/div&gt;&lt;/td&gt;

                                    &lt;/tr&gt;
                                @endforeach

                                &lt;?php 
                                    //echo $tasks-&gt;render();
                                ?&gt;

                            &lt;/tbody&gt;
                        &lt;/table&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            @else
                &lt;div class="alert alert-danger text-center"&gt;No Task Found !!! &lt;/div&gt;
            @endif
</code></pre>
<p><br><br></p>
<p><a name="section-4"></a></p>
<h2>Routes</h2>
<p>Go to routes and edit below lines</p>
<pre><code class="language-php">Route::get('/task.group.view','TaskController@view_groups_task');</code></pre>
<p><a name="section-5"></a></p>
<h2>Controllers</h2>
<p>Go to TaskController, edit below lines:</p>
<pre><code class="language-php">    public function view_groups_task(){
        if(ConfigController::check_privilege('ACCESS_GROUP_VIEW'))
        {
          $tasks = DB::table('tasks AS t')
              -&gt;join('users AS u', 't.user_id', '=', 'u.id')
              //the select statement makes work much easier when displaying this data on view
              -&gt;select('t.*')
              -&gt;where('u.group_id','=',Auth::user()-&gt;group_id)
              -&gt;orderBy('t.created_at', 'desc')
              -&gt;get();  

          return view('tasks.group_task')-&gt;with('tasks',$tasks);

        }
        else
        {
            return view('errors.no_access');
        }
    }
</code></pre>
<p>Also we need to edit search task functions in <code>TaskController</code>. Edit functions with below codes:</p>
<pre><code class="language-php">        public function searchTasks(){

          return view('tasks.searchTask');

        }

    public function searchTask(Request $request){
        if($request-&gt;ajax())
        {
            if(ConfigController::check_privilege('user_root'))
            {
                switch ($request-&gt;search_type) {
                case 'id':
                    $tasks = DB::table('tasks')
                                -&gt;where('id',$request-&gt;search_term)
                                -&gt;get();
                    break;

                case 'name':
                    $tasks = DB::table('tasks')
                                -&gt;where('task_name','like','%'.$request-&gt;search_term.'%')
                                -&gt;get();     
                    break;

                case 'desc':
                    $tasks = DB::table('tasks')
                                -&gt;where('task_desc','like','%'.$request-&gt;search_term.'%')
                                -&gt;get();     
                    break;
                }

                $view = view('tasks.data',compact('tasks'))-&gt;render();

            }
            elseif(ConfigController::check_privilege('ACCESS_GROUP_VIEW'))
            {
                $db = DB::table('tasks AS t')
                        -&gt;join('users AS u', 't.user_id', '=', 'u.id')
                        //the select statement makes work much easier when displaying this data on view
                        -&gt;select('t.*')
                        -&gt;where('u.group_id','=',Auth::user()-&gt;group_id)
                        -&gt;orderBy('t.created_at', 'desc');

                switch ($request-&gt;search_type) {
                case 'id':
                    $tasks = $db-&gt;where('t.id',$request-&gt;search_term)
                                -&gt;get();
                    break;

                case 'name':
                    $tasks = $db-&gt;where('t.task_name','like','%'.$request-&gt;search_term.'%')
                                -&gt;get();     
                    break;

                case 'desc':
                    $tasks = $db-&gt;where('t.task_desc','like','%'.$request-&gt;search_term.'%')
                                -&gt;get();     
                    break;
                }
                $view = view('tasks.data',compact('tasks'))-&gt;render();
            }
            else          
            {

                $view = '&lt;div class="alert alert-danger" style="text-align:center;"&gt;&lt;b&gt;Sorry!!&lt;/b&gt;You do not have access to this page.&lt;/div&gt;';
            }

            return response()-&gt;json(['html'=&gt;$view]);
        }
    }
</code></pre>
<p>Also changes made to close route. Changed method from <code>POST</code> to <code>GET</code></p>";