Yii Framework Forum: Login Tidak Berhasil Setelah Menggunakan Function Afterfind() - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Login Tidak Berhasil Setelah Menggunakan Function Afterfind() Rate Topic: -----

#1 User is offline   Ryo Hakashi 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 11-June 13

Posted 13 June 2013 - 03:58 AM

Dear All,

Saya pemula Yii, ingin bertanya dikit.
Agar pada saat update detail user, password nya tidak ikut nampil di textbox, maka dipasang function afterFind() pada model untuk mengosongkan field password. Nah, sampe tahap ini berhasil, masalah kemudian muncul pada saat proses login. Proses login jadinya gagal dikarenakan pada saat login password di kosongkan jg di afterFind().

Muncul ide untuk menggunakan scenario untuk mengakali nya, tapi tetap tidak berhasil, setelah di cek, ternyata scenario itu selalu bernilai update, jadi tetap tidak menemui solusi untuk masalah ini.

Mohon bantuan para master Yii untuk permasalahan di atas.


Terima kasih.

Salam Yii .
0

#2 User is offline   daudtm 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 91
  • Joined: 25-April 13
  • Location:Malang

Posted 14 June 2013 - 06:10 AM

View PostRyo Hakashi, on 13 June 2013 - 03:58 AM, said:

Dear All,

Saya pemula Yii, ingin bertanya dikit.
Agar pada saat update detail user, password nya tidak ikut nampil di textbox, maka dipasang function afterFind() pada model untuk mengosongkan field password. Nah, sampe tahap ini berhasil, masalah kemudian muncul pada saat proses login. Proses login jadinya gagal dikarenakan pada saat login password di kosongkan jg di afterFind().

Muncul ide untuk menggunakan scenario untuk mengakali nya, tapi tetap tidak berhasil, setelah di cek, ternyata scenario itu selalu bernilai update, jadi tetap tidak menemui solusi untuk masalah ini.

Mohon bantuan para master Yii untuk permasalahan di atas.


Terima kasih.

Salam Yii .


Jangan pake afterFind bang, karena kebutuhannya kan spesifik buat itu doang, malah ngerusak yg lain ntar (login gak jalan kan? soalnya passwordnya kosong jadi authenticatenya gagal). yg paling sederhana ya ente kosongin sebelum update, misalnya begini:

public function actionUpdate($id) {
  $model = $this->load($id);
  $model->password = null;

  ..snip..
}

cara lain, pake scope, jadi di modelnya ditambahin ginian:
public function scopes()
    {
        return array(
            'active'=>array(
                'condition'=>'status='.self::STATUS_ACTIVE,
            ),
            'notactive'=>array(
                'condition'=>'status='.self::STATUS_NOACTIVE,
            ),
            'banned'=>array(
                'condition'=>'status='.self::STATUS_BANNED,
            ),
            'superuser'=>array(
                'condition'=>'superuser=1',
            ),
            'notsafe'=>array(
            	'select' => 'id, username, password, email, activkey, create_at, lastvisit_at, superuser, status',
            ),
        );
    }


tar di controller manggilnya gini:
public function actionUpdate($id) {
  $model = User::model()->notsafe->findByPk($id);

  ..snip..
}


lebih lanjut soal scope bisa cek disini atau disini.
0

#3 User is offline   Ryo Hakashi 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 2
  • Joined: 11-June 13

Posted 16 June 2013 - 10:00 PM

View Postdaudtm, on 14 June 2013 - 06:10 AM, said:

Jangan pake afterFind bang, karena kebutuhannya kan spesifik buat itu doang, malah ngerusak yg lain ntar (login gak jalan kan? soalnya passwordnya kosong jadi authenticatenya gagal). yg paling sederhana ya ente kosongin sebelum update, misalnya begini:

public function actionUpdate($id) {
  $model = $this->load($id);
  $model->password = null;

  ..snip..
}

cara lain, pake scope, jadi di modelnya ditambahin ginian:
public function scopes()
    {
        return array(
            'active'=>array(
                'condition'=>'status='.self::STATUS_ACTIVE,
            ),
            'notactive'=>array(
                'condition'=>'status='.self::STATUS_NOACTIVE,
            ),
            'banned'=>array(
                'condition'=>'status='.self::STATUS_BANNED,
            ),
            'superuser'=>array(
                'condition'=>'superuser=1',
            ),
            'notsafe'=>array(
            	'select' => 'id, username, password, email, activkey, create_at, lastvisit_at, superuser, status',
            ),
        );
    }


tar di controller manggilnya gini:
public function actionUpdate($id) {
  $model = User::model()->notsafe->findByPk($id);

  ..snip..
}


lebih lanjut soal scope bisa cek disini atau disini.





Ok, makasih atas jawabannya.. sangat membantu, plus dapat ilmu baru lagi..

Terima kasih.

Salam Yii .
0

#4 User is offline   cyber1924 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 14
  • Joined: 31-May 13
  • Location:Yogyakarta, ID

Posted 18 June 2013 - 08:35 AM

dibilangin kok si om daudtm tu master lah pokoknya :D
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users