Q:

October CMS | Is it possible to disable checkboxes for certain rows or hide certain rows? 

I am creating a plugin which allows people to add their own payment statuses and payment methods.   There are two values in my payment statuses model which I require for a reportwidget I use in the dashboard. 
My question is, is it possible to hide or simply disable the checkboxes so that other users would be unable to delete these?   I know if they really wanted to they could always delete it from say phpMyAdmin but I want to make it as difficult as possible. 
As an example, I have edited the photo:

I use a Seeder to create the contents upon installation:

use Vektar\Crm\Models\AddPaymentStatus as PaymentStatus;
use Seeder;

class CreateVektarCrmSeeder extends Seeder
{
    public function run()
    {
        $paymentstatuspaid = PaymentStatus::create([
            'add_payment_status' => 'Paid'
        ]);

        $paymentstatusunpaid = PaymentStatus::create([
            'add_payment_status' => 'Unpaid'
        ]);

    }
}

Payment Status Table:
<? php namespace Vektar\Crm\Updates;

use Schema;
use October\Rain\Database\Updates\Migration;

class CreateMartinsmithMsAddPaymentStatus extends Migration
{
    public function up()
    {

        if (! Schema::hasTable('vektar_crm_add_paymentstatus')) {
            Schema::create('vektar_crm_add_paymentstatus', function ($table) {
                $table->engine = 'InnoDB';
                $table->increments('id');
                $table->integer('job_id')->nullable();
                $table->text('add_payment_status')->nullable();
            });
        }
    }

    public function down()
    {
        Schema::dropIfExists('vektar_crm_add_paymentstatus');
    }
}

A:

So I figured out a way to do this. 
The first thing I did was in controllers/addpaymentstatus/config_filter was add the following:
scopes:
  filterJobStatus:
    label: Job Statuses
    modelClass: Vektar\Crm\Models\AddPaymentStatus
    type: checkbox
    default: 1
    conditions: is_hidden <> true

In my database, I then added the following column:
$table->boolean('is_hidden')->nullable()->default(0);

In my seeder, I added:
class CreateVektarCrmSeeder extends Seeder
{
    public function run()
    {
        $paymentstatuspaid = PaymentStatus::create([
            'add_payment_status' => 'Paid',
            'is_hidden' => true
        ]);

        $paymentstatusunpaid = PaymentStatus::create([
            'add_payment_status' => 'Unpaid',
            'is_hidden' => true
        ]);

    }
}

At this stage, the values that I add via the seeder are then filtered out and are not visible in my list, however, this doesn't stop users from simply un-filtering the list  so I then add the following to the controller I want to remove the filter status menu from:
public function index()
{
    $this->asExtension('ListController')->index();
}

I then added a file in my controller called _list_container.htm. 
We then render the parts of the list manually:
<? php if ($toolbar): ? >
    <? = $toolbar->render() ? >
<? php endif ? >

<div class="row row-flush">
    <div class="col-sm-12 list-with-sidebar">
        <? = $list->render() ? >
    </div>
</div>

This will then only load the toolbar and my list but if you would like to render the filters via this method then we would need to add:
<? php if ($filter): ? >
    <? = $filter->render() ? >
<? php endif ? >

I hope this helps for anyone who would like to do something similar.