def link_gecerliligi_kontrolu(self): """ Eğer linkle başlatıldıysa, doğrulama linkinin geçerli olup olmadığı kontrol edilir. """ self.current.task_data['kod'] = aktivasyon_kodu = self.current.input[ 'model'].split('=')[1] self.current.task_data['e_posta'] = EPostaDogrulama( aktivasyon_kodu).get()
def e_posta_bilgisi_cache_koy_e_posta_hazirla(self): """ Doğrulama linki gönderilecek e_posta adresi, oluşturulan aktivasyon kodu ile cache'e kaydedilir. Gönderilecek e-postanın içeriği ve linki wf ismi ve aktivasyon kodu ile hazırlanır. """ self.current.task_data['msg'] = None self.current.task_data["aktivasyon"] = aktivasyon_kodu_uret() EPostaDogrulama(self.current.task_data["aktivasyon"]).set( self.current.task_data["e_posta"], 7200) self.current.task_data["message"] = "E-Posta adresinizi doğrulamak için aşağıdaki linke" \ " tıklayınız:\n\n %s/#/%s/dogrulama=%s" % ( DEMO_URL, self.current.task_data['wf_name'], self.current.task_data["aktivasyon"]) self.current.task_data['subject'] = 'Ulakbüs Aktivasyon Maili'
def e_posta_degistir(self): """ E_posta adresi doğrulanmışsa, e_posta değiştirme işlemi yapılır, değiştirilecek e_posta bilgisi Cache'den alınır, işlem yapıldıktan sonra Cache'den silinir. """ kullanici = User.objects.get(self.current.user_id) kullanici.e_mail = self.current.task_data['e_posta'] kullanici.save() EPostaDogrulama(self.current.task_data['kod']).delete() self.current.task_data['title'] = _(u'E-Posta Değişikliği') self.current.task_data['msg'] = _( u'E-Posta değiştirme işleminiz başarıyla gerçekleştirilmiştir.') self.current.task_data['type'] = 'info'
def test_gecerli_link_basarili_islem(self): # Değiştirilecek e_posta adresi doğrulama kodu keyi ile cache e kaydedilir. EPostaDogrulama('2fd1deed4653f40107571368cd46411088c7d988').set( 'ulakbus_mail@ulakbus_mail.com') # Linkle gelerek iş akışı tekrardan başlatılır. user = User.objects.get(self.user_key) self.prepare_client('/profil_sayfasi_goruntuleme', user=user) resp = self.client.post( model='dogrulama=2fd1deed4653f40107571368cd46411088c7d988') # Başarılı işlem mesajı oluştuğu test edilir. assert resp.json['msgbox']['title'] == 'E-Posta Değişikliği' # Veritabanından kullanıcı tekrar çekilir. user = User.objects.get(self.user_key) # Linkle gelindiği test edilir. assert self.client.current.task_data['link'] == True # Linkin geçerliliği test edilir. assert self.client.current.task_data['e_posta'] != None # Birincil e-posta adresinin değiştiği test edilir. assert user.e_mail == 'ulakbus_mail@ulakbus_mail.com' # E-postası eski haline döndürülür. user.e_mail = self.user.e_mail user.blocking_save()