sleeping-owl / admin

Administrative interface builder for Laravel
http://sleeping-owl.github.io/
MIT License
504 stars 259 forks source link

V3: Create administrator programatically #270

Open Elyahou opened 9 years ago

Elyahou commented 9 years ago

Is it possible to have an admin view that allow to create an administrator instead of using command line ?

Thank you

maslakoff commented 9 years ago

You can to execute an Artisan command outside of the CLI. http://laravel.com/docs/master/artisan#calling-commands-via-code

johnshepherd commented 9 years ago

Sure, quick example of the admin config

Admin::model('App\Administrator')->title('Admins')->display(function ()
{
    $display = AdminDisplay::datatables();
    $display->columns([
        Column::string('name')->label('Name'),
        Column::string('email')->label('Email'),
    ]);
    return $display;
})->create(function ()
{
    $form = AdminForm::form();
    $form->items([
        FormItem::text('name', 'Name')->required(),
        FormItem::text('email', 'Email')->required()->unique()->validationRule('email'),
        FormItem::text('password', 'Password')->required(),
    ]);
    return $form;
})->edit(function ()
{
    $form = AdminForm::form();
    $form->items([
        FormItem::text('name', 'Name')->required(),
        FormItem::text('email', 'Email')->required()->unique()->validationRule('email'),
    ]);
    return $form;
});

And in the Admin model:

...
public function setPasswordAttribute($value)
    {
        $this->attributes['password'] = \Hash::make($value);
    }
...