PHP code example of wanmigs / laravel-status

1. Go to this page and download the library: Download wanmigs/laravel-status library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

wanmigs / laravel-status example snippets




namespace App;

use Illuminate\Database\Eloquent\Model;
use Fligno\User\Traits\HasStatus

class Flight extends Model
{
    use HasStatus;
}

Schema::table('users', function (Blueprint $table) {
    $table->boolean('is_active')->default(0);
});

if ($user->isActive()) {
    //
}



namespace App\Http\Controllers;

use Fligno\User\Traits\ManageStatus;

class UserController extends Controller
{
	use  ManageStatus;

	protected $model = 'App\User';
}



Route::post('/user/active/{id}', 'UserController@activate')->name('user.activation');

Route::post('/user/deactivate/{id}', 'UserController@deactivate')->name('user.deactivation');

Route::post('/user/toggle/{id}', 'UserController@toggleStatus')->name('user.toggle');

Route::post("/user/bulk/update", "UserController@bulkStatusUpdate")->name("user.bulkUpdate");



use Fligno\User\UserStatus;

UserStatus::routes(['UserController']);

UserStatus::routes(['UserController', 'MemberController']);

UserStatus::routes(['UserController' => 'custom-user']);

/** @test */
public  function  a_user_can_activate_user()
{
	$user  =  factory('App\User')->create();
	$this->postJson(route('user.activation',  $user->id));

	tap($user->fresh(),  function  ($user)  {
		$this->assertTrue($user->isActive());
	});
}

/** @test */
public  function  a_user_can_deactivate_user()
{
	$user  =  factory('App\User')->create(['is_active'  =>  true]);
	$this->postJson(route('user.deactivation',  $user->id));

	tap($user->fresh(),  function  ($user)  {
		$this->assertFalse($user->isActive());
	});
}

/** @test */
public  function  a_user_can_toggle_user_status()
{
	$user  =  factory('App\User')->create(['is_active'  =>  true]);

	$this->postJson(route('user.toggle',  $user->id));

	tap($user->fresh(),  function  ($user)  {
		$this->assertFalse($user->isActive());
	});
}

/** @test */
public  function  a_user_can_update_mulitple_user_status()
{

	$users  =  factory('App\User',  5)->create(['is_active'  =>  false]);
	$ids  =  $users->pluck('id')->all();

	$this->postJson(route('user.bulkUpdate'), [
		'ids'  =>  $ids,
		'status'  =>  true
	]);

	tap($users->fresh(),  function  ($users)  {
		foreach  ($users  as  $user)  {
			$this->assertTrue($user->isActive());
		}
	});
}