Laravel France

formulaire création d'un utilisateur admin

Avatar de MM
MM

Bonjour, j'ai besoin d'aide svp :

Sur une de mes pages de mon site je souhaite créer un admin avec la route registrer/admin comme ci-dessous :

<div class="mtop2" style="display: flex;">
        <p style="font-size: 1.5rem;" class=" color_green">Les salariés</p>
        <p style="padding-left: 130px; font-size: 1.5rem;">
              <a href="{{ route('register/admin', $entreprise) }}"  class=" color_blue text_underline">
                  Ajouter un salarié
              </a>
        </p>
</div>

Mais lorsque j'actualise la page je recoit ce message d'erreur : Route [register/admin] not defined.

Parcontre si dans mon url je tape 127.0.0.1:8000/register/admin la j'obtiens bien mon formulaire de création d'admin

Mes routes sont bien défini :

Route::get('/register/admin', 'App\Http\Controllers\Auth\RegisterController@showAdminRegisterForm');
Route::post('/register/admin', 'App\Http\Controllers\Auth\RegisterController@createAdmin');

Je ne sais pas comment remerdier a mon problème .. est-ce une histoire de sécrutité des authentifications ?

Posté il y a 1 mois
Avatar de bestmomo
bestmomo

Il faut nommer les routes, par exemple :

Route::get('/register/admin', 'App\Http\Controllers\Auth\RegisterController@showAdminRegisterForm')->name('admin.show');
Route::post('/register/admin', 'App\Http\Controllers\Auth\RegisterController@createAdmin')->name('admin.register');

Et ensuite utiliser ce nom dans la vue avec l'helper :

<a href="{{ route('admin.show', $entreprise) }}"  class=" color_blue text_underline">
Posté il y a 1 mois
Avatar de MM
MM

Bonjour Bestmomo , merci pour ton aide mais ça ne fonctionne toujours pas ,

j'ai ce message d'erreur :

SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: administrateurs.entreprise_id (SQL: insert into "administrateurs" 
Posté il y a 1 mois
Avatar de bestmomo
bestmomo

Là c'est une autre problème. Un clé étrangère n'est pas renseignée lors d'un enregistrement dans la table administrateurs.

Posté il y a 1 mois
Avatar de MM
MM

bah pourtant si :

  public function up()
    {
        Schema::create('administrateurs', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('username');
            $table->string('email')->unique();
            $table->string('password');
            $table->string('address');
            $table->string('ZipCode');
            $table->string('city');
            $table->string('birthday');
            $table->string('role');
            $table->boolean('is_administrateur')->default(false); 
            $table->rememberToken();           
            $table->integer('entreprise_id')->unsigned();
            $table->timestamps();
            $table->foreign('entreprise_id')
                    ->references('id')->on('entreprises')
                    ->onDelete('cascade');
        });
    }
Posté il y a 1 mois
Avatar de bestmomo
bestmomo

Ce n'est pas parce que la colonne existe que forcément on la renseigne. Il faut voir le code pour l'enregistrement, peut-être il manque juste cette colonne dans la propriété $fillable.

Posté il y a 1 mois
Avatar de MM
MM

c'est bon ca fonctionne , j'avais pa smis la bonne route sur mon formuaire -_-

Merci de ton aide

Posté il y a 1 mois

Vous ne pouvez pas répondre à ce sujet.