Kariyerim’in dökümantasyonuna hoşgeldiniz¶
Proje: | Kariyerim |
---|---|
Takım: |
|
Kariyerim, python programlama diliyle veritabanı (PostgeSQL) kullanılarak oluşturulmuş bir web uygulamasıdır
Contents:
User Guide¶
Kariyerim sitesine ilk girildiğinde karşınıza login sayfası çıkıyor. Üyeyseniz sağ üst köşeye email ve şifrenizi girip siteye giriş yapabiliyorsunuz. Eğer üyeliğiniz yoksa Kişi olarak veya Şirket olarak kayıt ol butonuna basarak siteye kayıt olabiliyorsunuz.
Bu sayfadan Kariyerim’in Facebook, Twitter ve Github sayfasına ulaşabiliyorsunuz.
Hikmet ALTINTAŞ Tarafından Yapılan Kısımlar¶
Profil Sayfası¶
Kullanıcı kendisine ait bilgileri profil sayfasında görüntüleyebilir. Okul ve dil ilgili ayrıntılı bilgiler için akordiyon butonlar kullanılabilir. Kullanıcı sil butonunu kullanarak hesabını kalıcı olarak silebilir. Düzenle butonu kullanılarak bilgiler düzenlenebilir.
Profil Düzenleme¶
Dil Düzenleme ve Silme
Kullanıcı sağ üstteki ‘Sil’ butonuyla kayıtlı olan dili silebilir. Alt kısımdaki ‘Dil Ekle’ butonuyla yeni dil ekleyebilir. Mevcut formları değiştirerek düzenleme yapabilir. Düzenleme sonrası ‘Kaydet’ butonu bilgiler kalıcı hale getirilir.
Okul Düzenleme ve Silme
Kullanıcı sağ üstteki ‘Sil’ butonuyla kayıtlı olan okulu silebilir. Alt kısımdaki ‘Okul Ekle’ butonuyla yeni okul ekleyebilir. Mevcut formları değiştirerek düzenleme yapabilir. Düzenleme sonrası ‘Kaydet’ butonu bilgiler kalıcı hale getirilir.
Okul ve Dil Ekleme
Kullanıcı ‘Okul Ekle’ veya ‘Dil Ekle’ butonuyla gelen formu doldurarak ekleme işlemi yapabilir.
Fatih Demirel Tarafından Kodlanmış Kısımlar¶
Hesap Düzenleme¶
Hesap Ekleme ve Silme
Kullanıcı sağdaki ‘Sil’ butonuyla kayıtlı olan hesabı silebilir. Alt kısımdaki ‘Hesap Ekle’ butonuyla yeni hesap ekleyebilir. Kullanıcı sağdaki ‘Düzenle’ butonuyla kayıtlı hesap bilgilerini yeni açılacak-aşağıdaki sayfa- sayfada güncelleyebilir.
Hesap Güncelleme
Sol altta bulunan ‘Ekle’ butonuyla yaptılan değişiklikler kaydedilir.
Banka Düzenleme¶
Banka Ekleme ve Silme
Kullanıcı sağdaki ‘Sil’ butonuyla kayıtlı olan banka bilgisini silebilir. Alt kısımdaki ‘Banka Ekle’ butonuyla yeni banka ekleyebilir. Kullanıcı sağdaki ‘Düzenle’ butonuyla kayıtlı banka bilgilerini yeni açılacak-aşağıdaki sayfa- sayfada güncelleyebilir.
Banka Güncelleme
Sol altta bulunan ‘Ekle’ butonuyla yapılan değişiklikler kaydedilir.
İşlem Düzenleme¶
İşlem Ekleme ve Silme
Kullanıcı sağdaki ‘Sil’ butonuyla kayıtlı olan bir işlemi silebilir. Alt kısımdaki ‘İşlem Ekle’ butonuyla yeni işlem ekleyebilir. Kullanıcı sağdaki ‘Düzenle’ butonuyla kayıtlı işlem bilgilerini yeni açılacak -aşağıdaki sayfa- sayfada güncelleyebilir.
İşlem Güncelleme
Sol altta bulunan ‘Ekle’ butonuyla yapılan değişiklikler kaydedilir.
Hasan Berat Özfidan Tarafından Yapılan Kısımlar¶
Siteye Admin Olarak Giriş Yapıldığında¶
Hizmetler Sayfasına tıklanıldığında 3 adet sayfa çıkıyor. Bunlar Kurslar, Reklamlar ve Etkinliklerdir.
1)Kurslar Tablosu
Bu sayfada admin için kurslar listeleniyor .Listelenen ülkelerin ekleme,silme ve güncelleme işlemleri yapılıyor. Sil butonuna basıldığında o kurs siliniyor.
Kurslar sayfasının en altında kurs ekleme butonu vardır. Bu butona tıklanıldığında sayfasının altında form açılır.
Bu form doldurulup ekle dendiğinde kurs veri tabanına eklenir.
Admin satırları değiştirme yetkisine sahiptir. Değiştir butonuna basarak güncelleme sayfasına yönlendirilir.
2)Reklamlar Tablosu
Bu sayfada admin girişi için reklamlar listeleniyor. Listelenen reklamların ekleme, silme ve güncelleme işlemleri yapılıyor. Sil butonuna basıldığında o reklam siliniyor. Bu listenin en altında bulunan reklam ekle butonuna basılınca aynı kurs ekle butonunda olduğu gibi bir form açılır. Form doldurulduktan sonra ekle butonuna basılarak reklam eklenir. Güncelle butonuna basıldığında ise güncelleme formu gelir.
Reklam düzenleme sayfası
3)Etkinlikler Tablosu
Bu sayfada admin için etkinlikler listeleniyor. Listelenen etkinlikler için ekleme,silme ve güncelleme işlemleri yapılıyor.Sil butonuna basıldığında o reklam siliniyor.
Etkinlikler sayfasının en altında etkinlik ekle butonu vardır. Tıklandıktan sonra form doldurulur ve reklam veritabanına eklenir. Etkinlik satırları değiştirilmek istendiğinde satırın yanındaki güncelle butonuna basılır.
Siteye Kişi Olarak Giriş Yapıldığında¶
Hizmetler sayfasına tıklanınca bütün kurs, reklam ve etkinlik bilgilerine ulaşabiliyoruz.
1)Kurslar Sayfası
Bu sayfada kişi bütün kursların bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat kişi kurslar üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
2)Reklamlar Sayfası
Bu sayfada kişi bütün reklamların bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat kişi reklamlar üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
3)Etkinlikler Sayfası
Bu sayfada kişi bütün etkinliklerin bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat kişi etkinlikler üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
Siteye Şirket Olarak Giriş Yapıldığında¶
Hizmetler sayfasına tıklanınca bütün kurs, reklam ve etkinlik bilgilerine ulaşabiliyoruz.
1)Kurslar Sayfası
Bu sayfada şirket bütün kursların bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat şirket kurslar üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
2)Reklamlar Sayfası
Bu sayfada şirket bütün reklamların bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat şirket reklamlar üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
3)Etkinlikler Sayfası
Bu sayfada şirket bütün etkinliklerin bilgilerini ayrı ayrı liste şeklinde görebiliyor. Fakat şirket etkinlikler üzerinde güncelleme ve silme işlemi yapamaz. Yalnızca ekleme işlemi yapabilir.
Emir Bilgin Tarafından Yapılan Kısımlar¶
Siteye Kayıt Olurken¶
Siteye şirket olarak kayıt olmak için login sayfasında Şirket olarak Kayıt ol butonuna basılınca bu aşağıdaki form geliyor. İstenilen bilgiler doldurlunca login sayfasına geri dönülüyor. Buradan kayıt olduğunuz email ve şifre ile siteye giriş yapabiliyorsunuz.
Siteye Admin Olarak Giriş Yapıldığında¶
Sirketim Sayfasına tıklanılınca 3 adet sayfa çıkıyor. Bunlar Ülkeler,Şirketler ve İş İlanlarıdır.
1)Ülkeler Tablosu
Bu sayfada ülkeler listeleniyor admin için.Listelenen ülkelerin ekleme, silme ve güncelleme işlemleri yapılıyor. Sil butonuna basıldığında o ülke siliniyor.
Ülkeler sayfasının en altında ülke ekle butonu vardır.
Ülke Ekle butonuna basılınca aşağıdaki bu text formu ortaya çıkıyor. Buraya istenilen bilgiler girilerek ekleye basılarak ekleniliyor, iptale basılarak iptal ediliyor.
Düzenle Butonuna basıldığında bu aşağıdaki gibi ülkeyi düzenlemek için text formu geliyor. Burada düzenlenilecek ülkenin bilgileri yazılı duruyor,istenilen değiştirilip kaydet butonunna basılarak kaydediliyor veya iptal edilip ülkeler sayfasına geri dönülüyor.
2)Şirketler Tablosu
Bu sayfada şirketler listeleniyor admin için. Listelenen şirketlerin ekleme, silme ve güncelleme işlemleri yapılıyor. Sil butonuna basıldığında o şirket siliniyor.
Şirketler sayfasının en altında Şirket Ekle butonu vardır.
Şirket Ekle butonuna basılınca aşağıdaki bu text formu ortaya çıkıyor. Buraya istenilen bilgiler girilerek ekleye basılarak ekleniliyor, iptale basılarak iptal ediliyor. Şirketler tablosu dış anahtarla ülkeler tablosuna bağlı olduğundan, ülke bilgisini ülkeler tablosundaki verilere göre listeliyip seçebiliyoruz.
Düzenle Butonuna basıldığında bu aşağıdaki gibi şirketi düzenlemek için text formu geliyor. Burada düzenlenilecek şirketin bilgileri yazılı duruyor, istenilen değiştirilip kaydet butonunna basılarak kaydediliyor ve ya iptal edilip Şirketler sayfasına geri dönülüyor. Şirketler tablosu dış anahtarla ülkeler tablosuna bağlı olduğundan, ülke bilgisini ülkeler tablosundaki verilere göre listeliyip seçebiliyoruz.
Aşağıda düzenlerken ülkeyi seçebilceğimiz liste görüntüsü vardır.
3)İş İlanları Tablosu
Bu sayfada iş ilanları listeleniyor admin için. Listelenen iş ilanlarının ekleme,silme ve güncelleme işlemleri yapılıyor. Sil butonuna basıldığında o iş ilanı siliniyor.
İş İlanları sayfasının en altında İş İlanı Ekle butonu vardır.
İş İlanı Ekle butonuna basılınca aşağıdaki bu text formu ortaya çıkıyor. Buraya istenilen bilgiler girilerek ekleye basılarak ekleniliyor, iptale basılarak iptal ediliyor. İş İlanı tablosu dış anahtarla şirketler tablosuna bağlı olduğundan, şirket bilgisini şirketler tablosundaki verilere göre listeliyip seçebiliyoruz.
Düzenle Butonuna basıldığında bu aşağıdaki gibi iş ilanı düzenlemek için text formu geliyor. Burada düzenlenilecek iş ilanının bilgileri yazılı duruyor, istenilen değiştirilip kaydet butonunna basılarak kaydediliyor veya iptal edilip iş ilanları sayfasına geri dönülüyor. İş İlanı tablosu dış anahtarla şirketler tablosuna bağlı olduğundan, şirket bilgisini şirketler tablosundaki verilere göre listeliyip seçebiliyoruz.
Aşağıda düzenlerken şirket seçebilceğimiz liste görüntüsü vardır.
Siteye Kişi Olarak Giriş Yapıldığında¶
Şirketler ve İş İlanları sayfasına tıklanınca Bütün Şirketler ve İş İlanları sayfasına ulaşabiliyoruz.
1)Bütün Şirketler Sayfası
Bu sayfada kişi bütün şirketlerin bilgilerini ayrı ayrı liste şeklinde görebiliyor.Fakat kişi şirketler üzerinde herhangi bir değişiklil yapamıyor.Ekleme,silme güncelleme gibi.
2)Bütün İş İlanları Sayfası
Bu sayfada kişi bütün iş ilanlarının bilgilerini ayrı ayrı liste şeklinde görebiliyor.Fakat kişi iş ilanları üzerinde herhangi bir değişiklik yapamıyor.Ekleme,silme güncelleme gibi.
Siteye Şirket Olarak Giriş Yapıldığında¶
En sağ üstte şirket ismine tıklanıldığı zaman çıkan dropdownda Şirketim ve İş İlanlarım sayfasına tıklanıldığında Şirketimin Bilgileri,Diğer Şirket Bilgileri,İş İlanlarım ve Bütün İş İlanları sayfasına ulaşabiliyoruz.
1)Şirketimin Bilgileri Sayfası
Bu sayfada şirket kendi bilgilerini görebiliyor.Kendi bilgilerini düzenleyebiliyor.
Düzenle butonuna basılınca aşağıdaki text form geliyor ve değişiklik yapabiliyorsunuz istenilen bilgileri.İptal ile Şirketimin Bilgileri Sayfasına geri dönüyorsunuz.
2)Diğer Şirket Bilgileri Sayfası
Bu sayfada şirket bütün şirketlerin bilgilerini ayrı ayrı liste şeklinde görebiliyor.Fakat şirketler diğer şirketlerin üzerinde herhangi bir değişiklik yapamıyor.Ekleme,silme güncelleme gibi.
3)İş İlanlarım Sayfası
Bu sayfada şirket kendi iş ilanlarına görebiliyor.İsterse var olan iş ilanını düzenleyip silebiliyor ve ya yeni bir iş ilanı ekleyebiliyor.
Sayfanın en aşağısındaki İş ilanı Ekle butonuna basarak iş ilanı ekleyebiliyoruz.İş ilanı eklerken her hangi bir şirket bilgisi girmiyoruz.Sitede giriş yaptığımız şirketin bilgilerini otomatik alıyor.
Eğer herhangi bir iş ilanımızın bilgilerini güncellemek istiyorsak düzenle tuşuna basıyoruz ve aşağıdaki form geliyor bize.
4)Bütün İş İlanları Sayfası
Bu sayfada şirket bütün iş ilanlarının bilgilerini ayrı ayrı liste şeklinde görebiliyor.Fakat şirket bu iş ilanları üzerinde herhangi bir değişiklik yapamıyor.Ekleme,silme güncelleme gibi.
Hamitcan MALKOÇ Tarafından Yapılan Kısımlar¶
Paylaşım
Paylaşım Ekleme
Yeni paylaşım yollamak için metin yazıp göndere basınız
Yaptığınız bir paylaşımı düzenlemek için paylaşımın sağ üst tarafında bulunan butona basınız
Yaptığınız bir paylaşımı silmek için paylaşımın sağ alt tarafındaki bulunan butona basınız
Paylaşım Düzenleme
Paylaşımı düzenlemek için karşınıza gelen paylaşım düzenleme formunda yeni metin yazıp butona basınız
Mesaj
Mesaj Ekleme
Yeni mesaj yollamak için metin yazıp göndere basınız
Yaptığınız bir mesajı düzenlemek için mesajın sağ üst tarafında bulunan butona basınız
Yaptığınız bir mesajı silmek için mesajın sağ alt tarafındaki bulunan butona basınız
Mesaj Düzenleme
Mesajı düzenlemek için karşınıza gelen paylaşım düzenleme formunda yeni metin yazıp butona basınız
Yorum
Yorum Ekleme
Yeni yorum yollamak için metin yazıp göndere basınız
Yaptığınız bir yorumu düzenlemek için yorumun sağ üst tarafında bulunan butona basınız
Yaptığınız bir yorumu silmek için yorumun sağ alt tarafındaki bulunan butona basınız
Yorum Düzenleme
Yorumu düzenlemek için karşınıza gelen paylaşım düzenleme formunda yeni metin yazıp butona basınız
Developer Guide¶
Code¶
Hikmet ALTINTAŞ Tarafından Yapılan Kısımlar¶
Kayıt İşlemi (Add)¶
Kayıt işleminde form bilgileri alınır, veritabanı bağlantısı sağlanır ve ‘insert’ sorgusu yapılır. İlgili roller de ‘roller’ tablosuna eklenir. Kişi topluluk sayfasına yönlendirilir.
if request.method =='POST':
isim = request.form['isim']
soyisim = request.form['soyisim']
cinsiyet = request.form['cinsiyet']
email = request.form['email']
sifre = request.form['sifre']
session['name'] = isim
try:
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query ="""INSERT INTO kisi (isim,soyisim,cinsiyet,sifre,email) VALUES(%s,%s,%s,%s,%s) RETURNING id"""
cursor.execute(query,(isim,soyisim,cinsiyet,sifre,email))
id = cursor.fetchone()[0]
session['id'] = id
query ="""INSERT INTO roller (varlikid,rol) VALUES(%s,%s)"""
cursor.execute(query,(session['id'],'kisi'))
connection.commit()
.
.
.
return redirect(url_for('topluluk.community'))
Giriş İşlemi¶
Kişi veya şirket olarak giriş yapılabilir. Kullanıcının girdiği veriler, request form ile alınır, veritabanı bağlantısı yapılır. Girilen email ve şifre ile veritabanındaki email ve şifre karşılaştırılır. Giriş yapıldığında gerekli ‘session’ değişkenleri atanır. Giriş başarılıysa topluluk sayfasında yönlendirilir. Başarısız girişte hata mesajı yazılır
email = request.form['email']
sifre = request.form['sifre']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query ="""select id,isim,sifre from kisi where (email=%s)"""
cursor.execute(query,(email,))
connection.commit()
result = cursor.fetchone();
if result and email :
if sifre == result[2]:
session['name'] = result[1]
session['id'] = result[0]
session['rol'] = 'kisi'
...
return redirect(url_for('topluluk.community'))
else: # Şirket girişi
query ="""select id,isim,sifre from sirket where (mail=%s)"""
cursor.execute(query,(email,))
connection.commit()
result = cursor.fetchone();
if result and email :
if sifre == result[2]:
session['name'] = result[1]
session['id'] = result[0]
session['rol'] = 'sirket'
return '<!DOCTYPE html><html><body><h1>Hatalı e-posta ya da şifre</h1></body></html>'
Çıkış İşlemi¶
Çıkış işleminde session değerleri sıfırlanır. Ana sayfaya yönlendirilir.
def cikis():
session['id'] = 0
session['name'] = ""
return redirect(url_for('kisi.home_page'))
Profil Sayfasının Oluşturulması (Profil, Dil ve Okul için Select)¶
Giriş yapan kişinin session[‘id’]’sine göre veritabanında seçme işlemi yapılır. Kişi’nin bildiği diller ve okullar için join işlemi ile dil ve okul tablosu sorgulanır. Gelen bilgiler html içine ‘kisi’, ‘diller’ ve ‘okullar’ objeleri olarak gönderilir.
def profil(kisi_id):
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = "SELECT * FROM kisi WHERE (kisi.id=%s)"
cursor.execute(query,(kisi_id,))
result = cursor.fetchone();
kisi = Kisi(result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],result[8])
# 'dil join kisi'den dilleri bul
query = "SELECT dil.id, dil.isim, dil.seviye, dil.sertifika FROM kisi, dil WHERE (kisi.id=%s) AND (kisi.id=dil.kisiid)"
cursor.execute(query,(kisi_id,))
result = cursor.fetchall()
diller = []
for dil in result:
sertifikaId = dil[3]
query = "SELECT sertifika FROM kurslar WHERE (idd=%s)"
cursor.execute(query,(sertifikaId,))
sertifikaIsim = cursor.fetchone()
if not sertifikaIsim:
sertifikaIsim = None
else:
sertifikaIsim = sertifikaIsim[0]
yeniDil = Dil(dil[0],dil[1],dil[2],sertifikaIsim)
diller.append(yeniDil)
# 'okul join kisi'den okulları bul
query = "SELECT okul.id, okul.isim, fakulte, bolum, tip, mezuniyet, ortalama FROM okul, kisi WHERE (kisi.id=%s) AND (kisi.id=okul.kisiid)"
cursor.execute(query,(kisi_id,))
result = cursor.fetchall()
okullar = []
for okul in result:
yeniOkul = Okul(okul[0],okul[1],okul[2],okul[3],okul[4],okul[5],okul[6])
okullar.append(yeniOkul)
connection.commit()
filename = '{yetki}/profil.html'.format(yetki=session['yetki'])
return render_template(filename,kisi=kisi, diller=diller, okullar=okullar, kisi_id=kisi_id)
Profil Sayfasının Düzenlenmesi (Edit)¶
Düzenleme yaparken varolan bilgilerin formlarda gösterilmesi için ‘select’ sorgusu yapılır. Post metodunda, veritabanında ‘update’ sorgusu yapılarak bilgiler güncellenir.
...
cursor = connection.cursor()
query = "SELECT * FROM kisi WHERE (kisi.id=%s)"
cursor.execute(query,(session['id'],))
result = cursor.fetchone();
kisi = Kisi(result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],result[8])
...
if request.method =='POST':
...
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = "UPDATE kisi SET isim=%s,soyisim=%s,sifre=%s,dogumtarihi=%s,cinsiyet=%s,email=%s,telefon=%s,adres=%s WHERE (id=%s)"
cursor.execute(query,(isim,soyisim,sifre,dogum,cinsiyet,email,telefon,adres,session['id']))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Hesabın Silinmesi (Delete)¶
Profil kaydı veritabından ‘delete’ sorgusuyla silinir.
def kisi_sil():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query ="""DELETE FROM kisi WHERE id=%s"""
cursor.execute(query,(session['id'],))
connection.commit()
cikis()
return redirect(url_for('kisi.home_page'))
Dillerin Eklenmesi, Düzenlemesi ve Silinmesi¶
Dil eklenirken form bilgileri alınır ve veritabanında ‘insert’ sorgusu yapılır.
def dil_ekle():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
isim = request.form['isim']
seviye = request.form['seviye']
sertifika = request.form['sertifika']
print(sertifika)
if not sertifika:
sertifika = None
query ="""INSERT INTO dil (isim,seviye,sertifika,kisiid) VALUES(%s,%s,%s,%s)"""
cursor.execute(query,(isim,seviye,sertifika,session['id']))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Düzenleme yaparken varolan bilgilerin formlarda gösterilmesi için ‘select’ sorgusu yapılır. Dil’in sertifikası varsa kurslar tablosu ile join edilerek sertifika bilgisi alınır. Kaydet butonuyla dil_edit’e id göderilir, veritabanında ‘update’ sorgusu yapılarak bilgiler güncellenir.
def profil_edit():
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
...
# 'dil join kisi'den dilleri bul
query = "SELECT dil.id, dil.isim, dil.seviye, dil.sertifika FROM kisi, dil WHERE (kisi.id=%s) AND (kisi.id=dil.kisiid)"
cursor.execute(query,(session['id'],))
result = cursor.fetchall()
diller = []
for dil in result:
sertifikaId = dil[3]
query = "SELECT sertifika FROM kurslar WHERE (idd=%s)"
cursor.execute(query,(sertifikaId,))
sertifikaIsim = cursor.fetchone()
if not sertifikaIsim:
sertifikaIsim = None
else:
sertifikaIsim = sertifikaIsim[0]
yeniDil = Dil(dil[0],dil[1],dil[2],sertifikaIsim)
diller.append(yeniDil)
def dil_edit():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
dilId = request.form['id']
isim = request.form['isim']
seviye = request.form['seviye']
sertifika = request.form['sertifika']
query ="""UPDATE dil SET isim=%s,seviye=%s,sertifika=%s WHERE (id=%s)"""
cursor.execute(query,(isim,seviye,sertifika,dilId))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Sil butonuyla dil_sil’e dilin id değeri post metoduyla gönderilir ve ‘delete’ sorgusuyla dil silinir.
def dil_sil():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
dilId = request.form['id']
query ="""DELETE FROM dil WHERE id=%s"""
cursor.execute(query,(dilId,))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Okulların Eklenmesi, Düzenlemesi ve Silinmesi¶
Okul eklenirken form bilgileri alınır ve veritabanında ‘insert’ sorgusu yapılır.
def okul_ekle():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
isim = request.form['isim']
fakulte = request.form['fakulte']
bolum = request.form['bolum']
tip = request.form['tip']
mezuniyet = request.form['mezuniyet']
ortalama = request.form['ortalama']
if not mezuniyet:
mezuniyet = None
if not ortalama:
ortalama = None
query ="""INSERT INTO okul (isim,fakulte,bolum,tip,mezuniyet,ortalama,kisiid) VALUES(%s,%s,%s,%s,%s,%s,%s)"""
cursor.execute(query,(isim,fakulte,bolum,tip,mezuniyet,ortalama,session['id']))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Düzenleme yaparken varolan bilgilerin formlarda gösterilmesi için ‘select’ sorgusu yapılır. Kaydet butonuyla okul_edit’e id gönderilir, veritabanında ‘update’ sorgusu yapılarak bilgiler güncellenir.
def profil_edit():
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
...
# 'okul join kisi'den okulları bul
query = "SELECT okul.id, okul.isim, fakulte, bolum, tip, mezuniyet, ortalama FROM okul, kisi WHERE (kisi.id=%s) AND (kisi.id=okul.kisiid)"
cursor.execute(query,(session['id'],))
result = cursor.fetchall()
okullar = []
for okul in result:
yeniOkul = Okul(okul[0],okul[1],okul[2],okul[3],okul[4],okul[5],okul[6])
def okul_edit():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
okulId = request.form['id']
isim = request.form['isim']
fakulte = request.form['fakulte']
bolum = request.form['bolum']
tip = request.form['tip']
mezuniyet = request.form['mezuniyet']
ortalama = request.form['ortalama']
query ="""UPDATE okul SET isim=%s,fakulte=%s,bolum=%s,tip=%s,mezuniyet=%s,ortalama=%s WHERE (id=%s)"""
cursor.execute(query,(isim,fakulte,bolum,tip,mezuniyet,ortalama,okulId))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Sil butonuyla okul_sil’e okulun id değeri post metoduyla gönderilir ve ‘delete’ sorgusuyla dil silinir.
def okul_sil():
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
okulId = request.form['id']
query ="""DELETE FROM okul WHERE id=%s"""
cursor.execute(query,(okulId,))
connection.commit()
return redirect(url_for('kisi.profil',kisi_id=session['id']))
Fatih Demirel Tarafından Yapılan Kısımlar¶
Hesap Sayfasının Oluşturulması¶
Hesap, Banka ve Ulke tabloları kullanıldı. Hesap bilgilerini databaseden çekerek HTML’e atan ve hesap ekleme yapan kod kısmı:
def hesap():
hesaplar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT HESAP.Id2 ,HESAP.KisiAd, HESAP.KisiSoyad, HESAP.Telefon, HESAP.Mail, HESAP.Adres, BANKA.BankAdii, HESAP.HesapNo, HESAP.Iban, HESAP.ParaMiktari, ulke.para_birimi FROM HESAP, BANKA, ulke WHERE HESAP.BankAdi = BANKA.Idd AND HESAP.ParaBirimi = ulke.id;"""
cursor.execute(query)
for hesap in cursor:
hesaplar.append(hesap)
connection.commit()
bankalar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT Idd ,BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres FROM BANKA;"""
cursor.execute(query)
for banka in cursor:
bankalar.append(banka)
connection.commit()
ulkeler =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method == 'POST':
KisiAd = request.form['KisiAd']
KisiSoyad = request.form['KisiSoyad']
Telefon = request.form['Telefon']
Mail = request.form['Mail']
Adres = request.form['Adres']
BankAdi = request.form['BankAdi']
HesapNo = request.form['HesapNo']
Iban = request.form['Iban']
ParaMiktari = request.form['ParaMiktari']
ParaBirimi = request.form['ParaBirimi']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """INSERT INTO HESAP (KisiAd, KisiSoyad, Telefon, Mail, Adres, BankAdi, HesapNo, Iban, ParaMiktari, ParaBirimi) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s) """
cursor.execute(query, (KisiAd, KisiSoyad, Telefon, Mail, Adres, BankAdi, HesapNo, Iban, ParaMiktari, ParaBirimi))
connection.commit()
return redirect(url_for('account.hesap'))
filename = '{yetki}/hesap.html'.format(yetki=session['yetki'])
return render_template(filename, hesaplar = hesaplar, bankalar = bankalar, ulkeler = ulkeler)
Hesap Düzenleme Sayfasının Oluşturulması¶
Hesap bilgilerini databaseden çekerek HTML’e atan ve hesap güncelleme yapan kod kısmı:
def hesap_islem(Id2):
hesaplar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" SELECT HESAP.Id2 ,HESAP.KisiAd, HESAP.KisiSoyad, HESAP.Telefon, HESAP.Mail, HESAP.Adres, BANKA.BankAdii, HESAP.HesapNo, HESAP.Iban, HESAP.ParaMiktari, ulke.para_birimi FROM HESAP, BANKA, ulke WHERE HESAP.BankAdi = BANKA.Idd AND HESAP.ParaBirimi = ulke.id AND Id2 = %s ", [Id2])
for hesap in cursor:
hesaplar.append(hesap)
connection.commit()
bankalar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT Idd ,BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres FROM BANKA;"""
cursor.execute(query)
for banka in cursor:
bankalar.append(banka)
connection.commit()
ulkeler =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method == 'POST':
KisiAd = request.form['KisiAd']
KisiSoyad = request.form['KisiSoyad']
Telefon = request.form['Telefon']
Mail = request.form['Mail']
Adres = request.form['Adres']
BankAdi = request.form['BankAdi']
HesapNo = request.form['HesapNo']
Iban = request.form['Iban']
ParaMiktari = request.form['ParaMiktari']
ParaBirimi = request.form['ParaBirimi']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE HESAP SET KisiAd=%s, KisiSoyad=%s, Telefon=%s, Mail=%s, Adres=%s, BankAdi=%s, HesapNo=%s, Iban=%s, ParaMiktari=%s, ParaBirimi = %s WHERE (Id2 =%s)"""
cursor.execute(query, (KisiAd, KisiSoyad, Telefon, Mail, Adres, BankAdi, HesapNo, Iban, ParaMiktari, ParaBirimi, Id2))
connection.commit()
return redirect(url_for('account.hesap'))
filename = '{yetki}/hesap_islem.html'.format(yetki=session['yetki'])
return render_template(filename, Id2 = Id2, hesaplar = hesaplar, bankalar = bankalar, ulkeler = ulkeler)
Hesap Silme İşleminin Yapılması¶
Hesap silme yapan kod kısmı:
def hesap_delete(Id2):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM HESAP WHERE Id2 = %s ", [Id2])
connection.commit()
return redirect(url_for('account.hesap'))
Banka Sayfasının Oluşturulması¶
Banka bilgilerini databaseden çekerek HTML’e atan ve banka ekleme yapan kod kısmı:
def banka():
bankalar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT Idd ,BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres FROM BANKA;"""
cursor.execute(query)
for banka in cursor:
bankalar.append(banka)
connection.commit()
if request.method == 'POST':
BankAdii = request.form['BankAdii']
SubeKodu = request.form['SubeKodu']
SubeIsmi = request.form['SubeIsmi']
Adres = request.form['Adres']
Telefon = request.form['Telefon']
Fax = request.form['Fax']
WebAdres = request.form['WebAdres']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """INSERT INTO BANKA (BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres) VALUES (%s, %s, %s, %s, %s, %s, %s) """
cursor.execute(query, (BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres))
connection.commit()
return redirect(url_for('account.banka'))
filename = '{yetki}/banka.html'.format(yetki=session['yetki'])
return render_template(filename, bankalar = bankalar)
Banka Düzenleme Sayfasının Oluşturulması¶
Banka bilgilerini databaseden çekerek HTML’e atan ve banka güncelleme yapan kod kısmı:
def banka_islem(Idd):
bankalar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" SELECT Idd ,BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres FROM BANKA WHERE Idd = %s ", [Idd])
for banka in cursor:
bankalar.append(banka)
connection.commit()
if request.method == 'POST':
BankAdii = request.form['BankAdii']
SubeKodu = request.form['SubeKodu']
SubeIsmi = request.form['SubeIsmi']
Adres = request.form['Adres']
Telefon = request.form['Telefon']
Fax = request.form['Fax']
WebAdres = request.form['WebAdres']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE BANKA SET BankAdii=%s, SubeKodu=%s, SubeIsmi=%s, Adres=%s, Telefon=%s, Fax=%s, WebAdres=%s WHERE (Idd =%s)"""
cursor.execute(query, (BankAdii, SubeKodu, SubeIsmi, Adres, Telefon, Fax, WebAdres, Idd))
connection.commit()
return redirect(url_for('account.banka'))
filename = '{yetki}/banka_islem.html'.format(yetki=session['yetki'])
return render_template(filename, Idd = Idd, bankalar = bankalar)
Banka Silme İşleminin Yapılması¶
Banka silme yapan kod kısmı:
def banka_delete(Idd):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM BANKA WHERE Idd = %s ", [Idd])
connection.commit()
return redirect(url_for('account.banka'))
İşlemler Sayfasının Oluşturulması¶
Hesap, Kurslar tabloları kullanıldı. İşlem bilgilerini databaseden çekerek HTML’e atan ve işlem ekleme yapan kod kısmı:
def islemler():
islemlerr =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT ISLEMLER.Id3 ,kurslar.isim, HESAP.HesapNo, ISLEMLER.Miktar FROM HESAP, kurslar, ISLEMLER WHERE ISLEMLER.IslemTuru = kurslar.idd AND ISLEMLER.HesapSec = HESAP.Id2;"""
cursor.execute(query)
for islemler in cursor:
islemlerr.append(islemler)
connection.commit()
hesaplar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT HESAP.Id2 ,HESAP.KisiAd, HESAP.KisiSoyad, HESAP.Telefon, HESAP.Mail, HESAP.Adres, BANKA.BankAdii, HESAP.HesapNo, HESAP.Iban, HESAP.ParaMiktari, ulke.para_birimi FROM HESAP, BANKA, ulke WHERE HESAP.BankAdi = BANKA.Idd AND HESAP.ParaBirimi = ulke.id;"""
cursor.execute(query)
for hesap in cursor:
hesaplar.append(hesap)
connection.commit()
kurslar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT kurslar.idd, kurslar.isim, kurslar.sertifika, kurslar.tipi, kurslar.katilimci_sayisi, kurslar.adres, kurslar.mail, kurslar.tel_no, ulke.dil FROM kurslar, ulke WHERE kurslar.dil = ulke.id;"""
cursor.execute(query)
for kurs in cursor:
kurslar.append(kurs)
connection.commit()
if request.method == 'POST':
IslemTuru = request.form['IslemTuru']
HesapSec = request.form['HesapSec']
Miktar = request.form['Miktar']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """INSERT INTO ISLEMLER (IslemTuru, HesapSec, Miktar) VALUES (%s, %s, %s) """
cursor.execute(query, (IslemTuru, HesapSec, Miktar))
connection.commit()
return redirect(url_for('account.islemler'))
filename = '{yetki}/islemler.html'.format(yetki=session['yetki'])
return render_template(filename, hesaplar = hesaplar, kurslar = kurslar, islemlerr = islemlerr)
İşlem Düzenleme Sayfasının Oluşturulması¶
İşlem bilgilerini databaseden çekerek HTML’e atan ve işlem güncelleme yapan kod kısmı:
def islemler_islem(Id3):
islemlerr =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" SELECT ISLEMLER.Id3 ,kurslar.isim, HESAP.HesapNo, ISLEMLER.Miktar FROM HESAP, kurslar, ISLEMLER WHERE ISLEMLER.IslemTuru = kurslar.idd AND ISLEMLER.HesapSec = HESAP.Id2 AND Id3 = %s ", [Id3])
for islemler in cursor:
islemlerr.append(islemler)
connection.commit()
hesaplar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT HESAP.Id2 ,HESAP.KisiAd, HESAP.KisiSoyad, HESAP.Telefon, HESAP.Mail, HESAP.Adres, BANKA.BankAdii, HESAP.HesapNo, HESAP.Iban, HESAP.ParaMiktari, ulke.para_birimi FROM HESAP, BANKA, ulke WHERE HESAP.BankAdi = BANKA.Idd AND HESAP.ParaBirimi = ulke.id;"""
cursor.execute(query)
for hesap in cursor:
hesaplar.append(hesap)
connection.commit()
kurslar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
query = """ SELECT kurslar.idd, kurslar.isim, kurslar.sertifika, kurslar.tipi, kurslar.katilimci_sayisi, kurslar.adres, kurslar.mail, kurslar.tel_no, ulke.dil FROM kurslar, ulke WHERE kurslar.dil = ulke.id;"""
cursor.execute(query)
for kurs in cursor:
kurslar.append(kurs)
connection.commit()
if request.method == 'POST':
IslemTuru = request.form['IslemTuru']
HesapSec = request.form['HesapSec']
Miktar = request.form['Miktar']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE ISLEMLER SET IslemTuru=%s, HesapSec=%s, Miktar=%s WHERE (Id3 =%s)"""
cursor.execute(query, (IslemTuru, HesapSec, Miktar, Id3))
connection.commit()
return redirect(url_for('account.islemler'))
filename = '{yetki}/islemler_islem.html'.format(yetki=session['yetki'])
return render_template(filename, Id3 = Id3, hesaplar = hesaplar, kurslar = kurslar, islemlerr = islemlerr)
İşlem Silme İşleminin Yapılması¶
İşlem silme yapan kod kısmı:
def islemler_delete(Id3):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM ISLEMLER WHERE Id3 = %s ", [Id3])
connection.commit()
return redirect(url_for('account.islemler'))
Hasan Berat Özfidan Tarafından Yapılan Kısımlar¶
Hizmetler Sayfasının Oluşturulması¶
Kurslar, reklamlar ve etkinlikler tabloları kullanıldı. Kurs bilgilerini ve dil bilgilerini (ülke tablosundan) databaseden çekerek HTML’e atan ve kurs ekleme yapan kod kısmı:
def services():
services = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT kurslar.idd, kurslar.isim, kurslar.sertifika, kurslar.tipi, kurslar.katilimci_sayisi, kurslar.adres, kurslar.mail, kurslar.tel_no, ulke.dil FROM kurslar, ulke WHERE kurslar.dil = ulke.id;"""
cursor.execute(query)
for hizmet in cursor:
services.append(hizmet)
connection.commit()
ulkeler = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """
INSERT INTO kurslar
(isim, sertifika, tipi, katilimci_sayisi, adres, mail, tel_no,dil)
VALUES (%(isim)s, %(sertifika)s, %(tipi)s, %(katilimci_sayisi)s, %(adres)s, %(mail)s, %(tel_no)s, %(dil)s)
"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('hizmetler.services'))
else:
filename = '{yetki}/hizmetler.html'.format(yetki=session['yetki'])
return render_template(filename,services=services, ulkeler=ulkeler)
Kurs Düzenleme Sayfasının Oluşturulması¶
Kurs bilgilerini ve dil bilgilerini (ülke tablosundan) databaseden çekerek HTML’e atan ve kurs güncellenmesini içeren bu kod kısmında HTML’den gönderilen “idd” değişkeni üzerinden seçim işlemi yapılarak veriler HTML’e yazdırılır ve güncellenilir.
def hizmet_islem(idd):
ulkeler = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
services =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" SELECT kurslar.idd,kurslar.isim,kurslar.sertifika, kurslar.tipi, kurslar.katilimci_sayisi, kurslar.adres, kurslar.mail, kurslar.tel_no, ulke.dil FROM kurslar, ulke WHERE kurslar.dil = ulke.id AND idd = %s ", [idd])
for kurs in cursor:
services.append(kurs)
connection.commit()
if request.method == 'POST':
isim = request.form['isim']
sertifika = request.form['sertifika']
tipi = request.form['tipi']
katilimci_sayisi = request.form['katilimci_sayisi']
adres = request.form['adres']
mail = request.form['mail']
tel_no = request.form['tel_no']
dil = request.form['dil']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE kurslar SET isim=%s, sertifika=%s, tipi=%s, katilimci_sayisi=%s, adres=%s, mail=%s, tel_no=%s, dil=%s WHERE (idd =%s)"""
cursor.execute(query, (isim, sertifika, tipi, katilimci_sayisi, adres, mail, tel_no, dil, idd))
connection.commit()
return redirect(url_for('hizmetler.services'))
filename = '{yetki}/hizmet_islem.html'.format(yetki=session['yetki'])
return render_template(filename, idd = idd, services = services, ulkeler = ulkeler)
Kurs Silme İşleminin Yapılması¶
Kurs silme yapan kod kısmında HTML’den gönderilen “idd” değişkeni kullanılarak satır silme tamamlanır.
def hizmet_delete(idd):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM kurslar WHERE idd = %s ", [idd])
connection.commit()
return redirect(url_for('hizmetler.services'))
Reklam Sayfasının Oluşturulması¶
Reklam bilgilerini databaseden çekerek HTML’e atan ve reklam ekleme yapan kod kısmı:
reklamlar = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT reklamlar.id,reklamlar.veren_adi,reklamlar.reklam_adi,reklamlar.sure,reklamlar.gosterilme_sikligi,reklamlar.boyut,reklamlar.yas_grubu,reklamlar.bitis_tarihi,reklamlar.fiyat FROM reklamlar;"""
cursor.execute(query)
for reklam in cursor:
reklamlar.append(reklam)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """
INSERT INTO reklamlar
(veren_adi,reklam_adi,sure,gosterilme_sikligi,boyut,yas_grubu,bitis_tarihi,fiyat)
VALUES (%(veren_adi)s, %(reklam_adi)s, %(sure)s, %(gosterilme_sikligi)s, %(boyut)s, %(yas_grubu)s, %(bitis_tarihi)s, %(fiyat)s)
"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('hizmetler.reklamlar'))
else:
filename = '{yetki}/hizmet_reklamlar.html'.format(yetki=session['yetki'])
return render_template(filename,reklamlar=reklamlar)
Reklam Düzenleme Sayfasının Oluşturulması¶
Reklam bilgilerini databaseden çekerek HTML’e atan ve reklam güncelleme yapan bu kod kısmında HTML’den gönderilen “id” değişkeni kullanılarak güncellenecek veriler yazılır ve güncellenir.
def reklamlar_islem(id):
reklamlar =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute( "SELECT reklamlar.id,reklamlar.veren_adi,reklamlar.reklam_adi,reklamlar.sure,reklamlar.gosterilme_sikligi,reklamlar.boyut,reklamlar.yas_grubu,reklamlar.bitis_tarihi,reklamlar.fiyat FROM reklamlar WHERE id = %s", [id])
for reklam in cursor:
reklamlar.append(reklam)
connection.commit()
if request.method == 'POST':
veren_adi = request.form['veren_adi']
reklam_adi = request.form['reklam_adi']
sure = request.form['sure']
gosterilme_sikligi = request.form['gosterilme_sikligi']
boyut = request.form['boyut']
yas_grubu = request.form['yas_grubu']
bitis_tarihi = request.form['bitis_tarihi']
fiyat = request.form['fiyat']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE reklamlar SET veren_adi=%s, reklam_adi=%s, sure=%s, gosterilme_sikligi=%s, boyut=%s, yas_grubu=%s, bitis_tarihi=%s, fiyat=%s WHERE (id =%s)"""
cursor.execute(query, (veren_adi, reklam_adi, sure, gosterilme_sikligi, boyut, yas_grubu, bitis_tarihi, fiyat, id))
connection.commit()
return redirect(url_for('hizmetler.reklamlar'))
filename = '{yetki}/hizmet_reklam_islem.html'.format(yetki=session['yetki'])
return render_template(filename, id = id, reklamlar = reklamlar)
Reklam Silme İşleminin Yapılması¶
Reklam silme yapan bu kod kısmında reklam satırının “id” değişkeni üzerinden seçim işlemi yapılır. Güncellenecek veriler HTML’e yazdırılır ve güncellenir.
def reklamlar_delete(id):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM reklamlar WHERE id = %s ", [id])
connection.commit()
return redirect(url_for('hizmetler.reklamlar'))
Etkinlikler Sayfasının Oluşturulması¶
Etkinlik bilgilerini databaseden çekerek HTML’e atan ve etkinlik ekleme yapan kod kısmı:
def etkinlikler():
etkinlikler = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT etkinlikler.id,etkinlikler.veren_adi,etkinlikler.etkinlik_adi,etkinlikler.etkinlik_konusu,etkinlikler.yer,etkinlikler.tarih,etkinlikler.saat,etkinlikler.kontenjan FROM etkinlikler;"""
cursor.execute(query)
for etkinlik in cursor:
etkinlikler.append(etkinlik)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """
INSERT INTO etkinlikler
(veren_adi,etkinlik_adi,etkinlik_konusu,yer,tarih,saat,kontenjan)
VALUES (%(veren_adi)s, %(etkinlik_adi)s, %(etkinlik_konusu)s, %(yer)s, %(tarih)s, %(saat)s, %(kontenjan)s)
"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('hizmetler.etkinlikler'))
else:
filename = '{yetki}/hizmet_etkinlikler.html'.format(yetki=session['yetki'])
return render_template(filename,etkinlikler=etkinlikler)
Etkinlik Düzenleme Sayfasının Oluşturulması¶
Etkinlik bilgilerini databaseden çekerek HTML’e atan ve etkinlik güncelleme yapan bu kod kısmında HTML’den gönderilen “id” değişkeni üzerinden seçilen satır tekrar HTML’e yazdırılır ve güncellenir.
def etkinlikler_islem(id):
etkinlikler =[]
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute( "SELECT etkinlikler.id,etkinlikler.veren_adi,etkinlikler.etkinlik_adi,etkinlikler.etkinlik_konusu,etkinlikler.yer,etkinlikler.tarih,etkinlikler.saat,etkinlikler.kontenjan FROM etkinlikler WHERE id = %s", [id])
for etkinlik in cursor:
etkinlikler.append(etkinlik)
connection.commit()
if request.method == 'POST':
veren_adi = request.form['veren_adi']
etkinlik_adi = request.form['etkinlik_adi']
etkinlik_konusu = request.form['etkinlik_konusu']
yer = request.form['yer']
tarih = request.form['tarih']
saat = request.form['saat']
kontenjan = request.form['kontenjan']
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ UPDATE etkinlikler SET veren_adi=%s, etkinlik_adi=%s, etkinlik_konusu=%s, yer=%s, tarih=%s, saat=%s, kontenjan=%s WHERE (id =%s)"""
cursor.execute(query, (veren_adi, etkinlik_adi, etkinlik_konusu, yer, tarih, saat, kontenjan, id))
connection.commit()
return redirect(url_for('hizmetler.etkinlikler'))
filename = '{yetki}/hizmet_etkinlikler_islem.html'.format(yetki=session['yetki'])
return render_template(filename, id = id, etkinlikler = etkinlikler)
Reklam Silme İşleminin Yapılması¶
Reklam silme yapan bu kod kısmında silinecek satırın “id” değişkeni üzerinden silme işlemi tamamlanır.
def etkinlikler_delete(id):
with dbapi2.connect(current_app.config["dsn"]) as connection:
cursor = connection.cursor()
cursor.execute(" DELETE FROM etkinlikler WHERE id = %s ", [id])
connection.commit()
return redirect(url_for('hizmetler.etkinlikler'))
Emir Bilgin Tarafından Yapılan Kısımlar¶
Tabloların Oluşturulması¶
1)Ulke Tablosu
Ulke tablosunun oluşturulması ve örnek verilerin veritabanına eklenmesi aşağıdaki koddaki gibi initialize_db.py’da yapıldı.
cursor.execute("""DROP TABLE IF EXISTS ulke CASCADE""")
cursor.execute("""CREATE TABLE ulke (
id SERIAL PRIMARY KEY NOT NULL,
isim VARCHAR(500) NOT NULL UNIQUE,
dil VARCHAR(50),
sembol VARCHAR(5),
para_birimi VARCHAR(50),
kita VARCHAR(50))""")
cursor.execute("""INSERT INTO ulke(isim,dil,sembol,para_birimi ,kita)VALUES (
'Türkiye',
'Türkçe',
'TR',
'Türk Lirası',
'Avrupa')""")
cursor.execute("""INSERT INTO ulke(isim,dil,sembol,para_birimi ,kita)VALUES (
'İngiltere',
'İnglizce',
'ENG',
'Pound',
'Avrupa')""")
2)Şirket Tablosu
Şirket tablosunun oluşturulması ve örnek verilerin veritabanına eklenmesi aşağıdaki koddaki gibi initialize_db.py’da yapıldı.
cursor.execute("""DROP TABLE IF EXISTS sirket CASCADE""")
cursor.execute("""CREATE TABLE sirket (
id SERIAL PRIMARY KEY NOT NULL,
isim VARCHAR(500) UNIQUE ,
sifre VARCHAR(20) NOT NULL,
tipi VARCHAR(50),
sektor VARCHAR(50),
isci_sayisi VARCHAR(50) DEFAULT 0,
adres VARCHAR(50),
mail VARCHAR(50) NOT NULL UNIQUE,
tel_num VARCHAR(50),
ulke INTEGER REFERENCES ulke(id) ON DELETE RESTRICT ON UPDATE CASCADE )""")
#sirket tablosuna insert yapılıyor
cursor.execute("""INSERT INTO sirket(isim,sifre,tipi,sektor,isci_sayisi ,adres,mail , tel_num ,ulke)VALUES(
'Sabanci Hold',
'pass',
'Anonim',
'Enerji',
34765,
'Maslak/Istanbul',
'sabanci@sab.com.tr',
902323371267,
'1')""")
cursor.execute("""INSERT INTO sirket(isim,sifre,tipi,sektor,isci_sayisi ,adres,mail , tel_num ,ulke)VALUES (
'Koc Hold',
'pass',
'LTD',
'Yazılım',
34732,
'Kağıthane/Istanbul',
'koc@koc.com.tr',
902323332267,
'1')""")
cursor.execute("""INSERT INTO sirket(isim,sifre,tipi,sektor,isci_sayisi ,adres,mail , tel_num ,ulke)VALUES (
'Dogus Hold',
'pass',
'Komandit',
'Otomotiv',
12567,
'Gebze/Kocaeli',
'dogus@dogus.com.tr',
902303672267,
'1')""")
3)İş İlanı Tablosu
İş ilanı tablosunun oluşturulması ve örnek verilerin veritabanına eklenmesi aşağıdaki koddaki gibi initialize_db.py’da yapıldı.
cursor.execute("""DROP TABLE IF EXISTS is_ilani CASCADE""")
cursor.execute("""CREATE TABLE is_ilani (
id SERIAL PRIMARY KEY NOT NULL,
meslek VARCHAR(500),
pozisyon VARCHAR(50),
deneyim VARCHAR(50),
yetenek VARCHAR(50),
yabanci_dil VARCHAR(50),
sirket INTEGER REFERENCES sirket(id) ON DELETE RESTRICT ON UPDATE CASCADE )""")
cursor.execute("""INSERT INTO is_ilani(meslek,pozisyon,deneyim,yetenek,yabanci_dil ,sirket)VALUES (
'Bilgisayar Mühendisi',
'Veritabanı Takım Lideri',
'3 Yıllık Veritabanı Deneyimi',
'SQL',
'İngilizce',
'1')""")
cursor.execute("""INSERT INTO is_ilani(meslek,pozisyon,deneyim,yetenek,yabanci_dil ,sirket)VALUES (
'İnşaat Mühendisi',
'Şantiye Şefi',
'3 Yıllık Şantiye Deneyimi',
'Betonarme',
'Arapça',
'2')""")
cursor.execute("""INSERT INTO is_ilani(meslek,pozisyon,deneyim,yetenek,yabanci_dil ,sirket)VALUES (
'Endüstri Mühendisi',
'Proje Yönetimi Lideri',
'6 Yıllık Proje Yönetimi Deneyimi',
'Proje Yönetimi',
'İngilizce,Fransızca',
'3')""")
Ülke Gösterme ve Ekleme¶
Ülkeler üstünde oynamayı sadece admin yapabildiği için önce admin yekisi kontrolü yapılıyor.Ekleme yapılmıyorsa SELECT ile veritabanındaki bütün ülkeler listeleniyor.Eğer ekleme varsa POST metodu ile INSERT işlemi yapılarak veritabanına yeni bir ülke ekleniyor.
def sirket_page():
.
.
.
.
.
elif session['yetki'] =='admin':
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """INSERT INTO ulke(isim, dil, sembol, para_birimi, kita)VALUES (%(isim)s, %(dil)s, %(sembol)s, %(para_birimi)s, %(kita)s )"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('sirket.sirket_page'))
else:
filename = '{yetki}/sirketler.html'.format(yetki=session['yetki'])
return render_template(filename,ulkeler=ulkeler)
Ülke Güncelleme¶
Güncellenecek ülkenin id si alınarak hangi ülkenin güncelleneceği SELECT işlemi ile seçilir.Sonra html formundan değişkenleri alarak UPDATE işlemi yapılır.
def edit_ulke(ulke_id):
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT * FROM ulke WHERE (ulke.id=%s)"""
cursor.execute(query,[ulke_id])
result = cursor.fetchone();
ulke = Ulke(result[0],result[1],result[2],result[3],result[4],result[5])
filename = '{yetki}/ulke_edit.html'.format(yetki=session['yetki'])
return render_template(filename,ulke=ulke)
if request.method =='POST':
isim = request.form['isim']
dil = request.form['dil']
sembol = request.form['sembol']
para_birimi = request.form['para_birimi']
kita = request.form['kita']
x=ulke_id
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """UPDATE ulke SET isim=%s ,dil=%s ,sembol=%s ,para_birimi=%s ,kita=%s WHERE (id=%s)"""
cursor.execute(query,(isim,dil,sembol,para_birimi,kita,x))
connection.commit()
return redirect(url_for('sirket.sirket_page'))
Ülke Silme¶
Ülke id sini alıp DELETE işlemi ile istenilen ülke siliniyor.
def delete_ulke(ulke_id):
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """DELETE from ulke WHERE (id = %s)"""
cursor.execute(query,[ulke_id])
connection.commit()
return redirect(url_for('sirket.sirket_page'))
Şirket Gösterme ve Ekleme¶
Şirketleri göstermek için SELECT işlemini kullanarak veritabanındaki bütün şirketleri listeliyoruz html de.Şirket ekleme işlemini tek admin yapabiliyor.Şirket eklerken ülke tablosundan ülkeleri dış referans yapıldığından bütün ülkeleri listemek için ülke tablosu için SELECT işlemini yapıyoruz.Sonrasında ise POST methodu ile alınan gerekli bilgileri INSERT işlemi ile şirket eklemeyi yapıyoruz.
def diger_sirketler_page():
ulkeler = []
.
.
.
.
.
elif session['yetki'] =='admin':
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke ;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
companys = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num,ulke.isim,ulke.dil,ulke.kita FROM sirket,ulke where (sirket.ulke=ulke.id);"""
cursor.execute(query)
for sirketler in cursor:
companys.append(sirketler)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """INSERT INTO sirket(isim, tipi, sektor, isci_sayisi, adres, mail, tel_num,ulke)VALUES (%(isim)s, %(tipi)s, %(sektor)s, %(isci_sayisi)s, %(adres)s, %(mail)s, %(tel_num)s, %(ulke)s )"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('sirket.diger_sirketler_page'))
else:
filename = '{yetki}/diger_sirketler.html'.format(yetki=session['yetki'])
return render_template(filename,companys=companys,ulkeler=ulkeler)
Şirket Güncelleme¶
Şirket güncelleme işlemini admin ve şirket yapabiliyor.Admin ve şirketin ayrı layout ve html leri olduğunda,ikisini ayrıacak koşul yazıldı.Temelde ikisi de aynı işlemi yapıyor.Şirket id’sini fonksiyona göderip SELECT işlemi ile şirket seçiliyor.Sonra bu şirketi UPDATE işlemi ile gerekli bilgilerini güncelliyor.
def edit_sirket(sirket_id):
ulkeler = []
with dbapi2.connect(current_app.config['dsn']) as connection:
if session['rol']=='sirket':
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke ;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT * FROM sirket WHERE (sirket.id=%s)"""
cursor.execute(query,[sirket_id])
result = cursor.fetchone();
sirket = Sirket(result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],result[8],result[9])
filename = '{yetki}/edit_sirketim.html'.format(yetki=session['yetki'])
return render_template(filename,sirket=sirket,ulkeler=ulkeler)
if request.method =='POST':
isim = request.form['isim']
tipi = request.form['tipi']
sektor = request.form['sektor']
isci_sayisi = request.form['isci_sayisi']
adres = request.form['adres']
mail = request.form['mail']
tel_num = request.form['tel_num']
ulke = request.form['ulke']
x=sirket_id
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """UPDATE sirket SET isim=%s ,tipi=%s ,sektor=%s ,isci_sayisi=%s ,adres=%s ,mail=%s ,tel_num=%s,ulke =%s WHERE (id=%s)"""
cursor.execute(query,(isim,tipi,sektor,isci_sayisi,adres,mail,tel_num,ulke,x))
connection.commit()
return redirect(url_for('sirket.sirket_page'))
elif session['yetki'] =='admin':
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke ;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT * FROM sirket WHERE (sirket.id=%s)"""
cursor.execute(query,[sirket_id])
result = cursor.fetchone();
sirket = Sirket(result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],result[8],result[9])
filename = '{yetki}/edit_sirket.html'.format(yetki=session['yetki'])
return render_template(filename,sirket=sirket,ulkeler=ulkeler)
if request.method =='POST':
isim = request.form['isim']
tipi = request.form['tipi']
sektor = request.form['sektor']
isci_sayisi = request.form['isci_sayisi']
adres = request.form['adres']
mail = request.form['mail']
tel_num = request.form['tel_num']
ulke = request.form['ulke']
x=sirket_id
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """UPDATE sirket SET isim=%s ,tipi=%s ,sektor=%s ,isci_sayisi=%s ,adres=%s ,mail=%s ,tel_num=%s,ulke =%s WHERE (id=%s)"""
cursor.execute(query,(isim,tipi,sektor,isci_sayisi,adres,mail,tel_num,ulke,x))
connection.commit()
return redirect(url_for('sirket.diger_sirketler_page'))
Şirket Silme¶
Şirket id’sini fonksiyona göndererek şirketi DELETE işlemi ile silebiliyoruz.
def delete_sirket(sirket_id):
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """DELETE from sirket WHERE (id = %s)"""
cursor.execute(query,[sirket_id])
connection.commit()
return redirect(url_for('sirket.diger_sirketler_page'))
Şirket Olarak Siteye Kayıt Olma¶
Siteye şirket olarak kayıt olurken ülke tablosundan ülkeleri dış referans yapıldığından bütün ülkeleri listemek için ülke tablosu için SELECT işlemini yapıyoruz.Sonrasında ise POST methodu ile alınan gerekli bilgileri INSERT işlemi ile şirket ekleyip sisteme kayıt ediyoruz.
def sirket_kayit():
ulkeler=[]
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT ulke.id,ulke.isim,ulke.dil, ulke.sembol, ulke.para_birimi, ulke.kita FROM ulke ;"""
cursor.execute(query)
for ulke in cursor:
ulkeler.append(ulke)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """INSERT INTO sirket(isim, tipi, sektor, isci_sayisi, adres, mail, tel_num,ulke,sifre)VALUES (%(isim)s, %(tipi)s, %(sektor)s, %(isci_sayisi)s, %(adres)s, %(mail)s, %(tel_num)s, %(ulke)s, %(sifre)s ) RETURNING id"""
cursor.execute(query, request.form)
id = cursor.fetchone()[0]
session['id'] = id
query ="""INSERT INTO roller (varlikid,rol,yetki) VALUES(%s,%s,%s)"""
cursor.execute(query,(session['id'],'sirket','sirket'))
connection.commit()
return redirect('')
else:
return render_template('sirket_kayit.html',ulkeler=ulkeler)
Şirket Olarak Siteye Kayıt Olma¶
Paylaşım sayfasında şirket ismine tıklanınca,tıklanılan şirketi göstermek için SELECT işlemi ile yapılmış şirket gösterme fonksiyonudur.
def show_sirket(sirket_id):
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num,ulke.isim,ulke.dil,ulke.kita FROM sirket,ulke where (sirket.id = %s) and (sirket.ulke=ulke.id) ;"""
cursor.execute(query,[sirket_id])
result=cursor.fetchone()
giren_sirket=Sirket_Info(result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],result[8],result[9],result[10])
connection.commit()
filename = '{yetki}/sirket_goster.html'.format(yetki=session['yetki'])
return render_template(filename,giren_sirket=giren_sirket)
İş İlanlarını Gösterme¶
Bütün iş ilanlarını listeleyerek gösteren fonksiyondur.SELECT işlemini kullanır.
def is_ilanlari_page2():
is_ilanlari = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT is_ilani.id,sirket.isim,sirket.tipi, sirket.sektor, sirket.adres, sirket.mail, sirket.tel_num,ulke.isim,is_ilani.meslek,is_ilani.pozisyon,is_ilani.deneyim,is_ilani.yetenek,is_ilani.yabanci_dil FROM sirket,ulke,is_ilani where (sirket.ulke=ulke.id) AND (is_ilani.sirket=sirket.id);"""
cursor.execute(query)
for isler in cursor:
is_ilanlari.append(isler)
connection.commit()
filename = '{yetki}/sirket_butun_is_ilani.html'.format(yetki=session['yetki'])
return render_template(filename,is_ilanlari=is_ilanlari)
İş İlanlanı Ekleme¶
İş ilanı ekleme işlemini admin ve şirket yapabildiğinden if koşulu ile fonksiyon ikiye ayrılmıştır.Şirket iş ilanı eklerken kendi şirket bilgilerini eklemek zorunda kalmıyor.Session[‘id] ile bilgileri otomatik alınıyor.Sadece iş ilanı tablosunda gerekli olan yerleri doldurunca bu iş ilanı INSERT işlemi ile ekleniyor.Admin ise istediği şirket için istediği iş ilanını INSERT işlemi ile ekleyebiliyor.
def is_ilanlari_page():
is_ilani = []
with dbapi2.connect(current_app.config['dsn']) as connection:
.
.
.
.
if session['rol']=='sirket':
cursor = connection.cursor()
query = """SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num FROM sirket ;"""
cursor.execute(query)
for is_il in cursor:
is_ilani.append(is_il)
connection.commit()
is_ilanlari = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT is_ilani.id,sirket.isim,sirket.tipi, sirket.sektor, sirket.adres, sirket.mail, sirket.tel_num,ulke.isim,is_ilani.meslek,is_ilani.pozisyon,is_ilani.deneyim,is_ilani.yetenek,is_ilani.yabanci_dil FROM sirket,ulke,is_ilani where (sirket.id=%s)AND(sirket.ulke=ulke.id) AND (is_ilani.sirket=sirket.id);"""
cursor.execute(query,(session['id'],))
for isler in cursor:
is_ilanlari.append(isler)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """INSERT INTO is_ilani(meslek, pozisyon, deneyim, yetenek, yabanci_dil,sirket)VALUES (%(meslek)s, %(pozisyon)s, %(deneyim)s, %(yetenek)s, %(yabanci_dil)s, {sirketid} )""".format(sirketid=session['id'])
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('sirket.is_ilanlari_page'))
elif request.method == 'GET':
filename = '{yetki}/sirket_is_ilani.html'.format(yetki=session['yetki'])
return render_template(filename,is_ilani=is_ilani,is_ilanlari=is_ilanlari)
print("Admin Öncesi")
if session['yetki']=='admin':
cursor = connection.cursor()
query = """SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num FROM sirket ;"""
cursor.execute(query)
for is_il in cursor:
is_ilani.append(is_il)
connection.commit()
is_ilanlari = []
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """ SELECT is_ilani.id,sirket.isim,sirket.tipi, sirket.sektor, sirket.adres, sirket.mail, sirket.tel_num,ulke.isim,is_ilani.meslek,is_ilani.pozisyon,is_ilani.deneyim,is_ilani.yetenek,is_ilani.yabanci_dil FROM sirket,ulke,is_ilani where (sirket.ulke=ulke.id) AND (is_ilani.sirket=sirket.id);"""
cursor.execute(query)
for isler in cursor:
is_ilanlari.append(isler)
connection.commit()
if request.method == 'POST':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query= """INSERT INTO is_ilani(meslek, pozisyon, deneyim, yetenek, yabanci_dil, sirket)VALUES (%(meslek)s, %(pozisyon)s, %(deneyim)s, %(yetenek)s, %(yabanci_dil)s, %(sirket)s )"""
cursor.execute(query, request.form)
connection.commit()
return redirect(url_for('sirket.is_ilanlari_page'))
else:
filename = '{yetki}/is_ilani.html'.format(yetki=session['yetki'])
return render_template(filename,is_ilanlari=is_ilanlari,is_ilani=is_ilani)
İş İlanlanı Güncelleme¶
İş ilanı güncelleme de şirket ve admin olarak if koşulu ile ikiye ayrılıyor.Güncelleme ekleme ile aynı gibi işliyor.Şirket iş ilanı güncellerken kendi şirket bilgilerini görmek zorunda kalmıyor.Session[‘id] ile bilgileri otomatik alınıyor.Sadece iş ilanı tablosunda istenilen yerleri değiştirilince bu iş ilanı UPDATE işlemi ile güncelleniyor.Admin ise istediği şirket için istediği iş ilanını UPDATE işlemi ile güncelleyebiliyor.
def edit_is_ilanlari(is_ilani_id):
is_ilani = []
with dbapi2.connect(current_app.config['dsn']) as connection:
if session['rol']=='sirket':
cursor = connection.cursor()
query = """SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num FROM sirket ;"""
cursor.execute(query)
for is_il in cursor:
is_ilani.append(is_il)
connection.commit()
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT * FROM is_ilani WHERE (is_ilani.id=%s)"""
cursor.execute(query,[is_ilani_id])
result = cursor.fetchone();
is_il = Is_Ilani(result[0],result[1],result[2],result[3],result[4],result[5],result[6])
filename = '{yetki}/edit_sirket_is_ilani.html'.format(yetki=session['yetki'])
return render_template(filename,is_il=is_il,is_ilani=is_ilani)
if request.method =='POST':
meslek = request.form['meslek']
pozisyon = request.form['pozisyon']
deneyim = request.form['deneyim']
yetenek = request.form['yetenek']
yabanci_dil = request.form['yabanci_dil']
x=is_ilani_id
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """UPDATE is_ilani SET meslek=%s ,pozisyon=%s ,deneyim=%s ,yetenek=%s ,yabanci_dil=%s , sirket=%s WHERE (id=%s) """
cursor.execute(query,(meslek,pozisyon,deneyim,yetenek,yabanci_dil,session['id'],x))
connection.commit()
return redirect(url_for('sirket.is_ilanlari_page'))
if session['yetki']=='admin':
cursor = connection.cursor()
query = """SELECT sirket.id,sirket.isim, sirket.tipi, sirket.sektor, sirket.isci_sayisi, sirket.adres, sirket.mail, sirket.tel_num FROM sirket ;"""
cursor.execute(query)
for is_il in cursor:
is_ilani.append(is_il)
connection.commit()
if request.method =='GET':
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """SELECT * FROM is_ilani WHERE (is_ilani.id=%s)"""
cursor.execute(query,[is_ilani_id])
result = cursor.fetchone();
is_il = Is_Ilani(result[0],result[1],result[2],result[3],result[4],result[5],result[6])
filename = '{yetki}/edit_is_ilani.html'.format(yetki=session['yetki'])
return render_template(filename,is_il=is_il,is_ilani=is_ilani)
if request.method =='POST':
meslek = request.form['meslek']
pozisyon = request.form['pozisyon']
deneyim = request.form['deneyim']
yetenek = request.form['yetenek']
yabanci_dil = request.form['yabanci_dil']
sirket = request.form['sirket']
x=is_ilani_id
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """UPDATE is_ilani SET meslek=%s ,pozisyon=%s ,deneyim=%s ,yetenek=%s ,yabanci_dil=%s ,sirket=%sWHERE (id=%s)"""
cursor.execute(query,(meslek,pozisyon,deneyim,yetenek,yabanci_dil,sirket,x))
connection.commit()
return redirect(url_for('sirket.is_ilanlari_page'))
İş İlanlanı Silme¶
İş ilanının id’si alınarak DELETE işlemi ile siliniyor
def delete_is_ilani(is_ilani_id):
with dbapi2.connect(current_app.config['dsn']) as connection:
cursor = connection.cursor()
query = """DELETE from is_ilani WHERE (id = %s)"""
cursor.execute(query,[is_ilani_id])
connection.commit()
return redirect(url_for('sirket.is_ilanlari_page'))
Hamitcan MALKOÇ Tarafından Yapılan Kısımlar¶
Paylaşım
Paylaşımları Gösterme Kodu
- Roller ve Paylaşım tabloları birleştiriliyor. Kişi veya Şirket bütün herkesin gönderdiği paylaşımlar veritabanından seçiliyor
- Seçilen paylaşımlar ‘media’ değişkeni içerisinde liste olarak tutuluyor ve HTML dosyasına gönderiliyor
with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select gonderenid, metin, paylasim.id, zaman, isim from paylasim, kisi, roller where (kisi.id = roller.varlikid and roller.rol = 'kisi' and roller.rolid = gonderenid)''' cursor.execute(query) connection.commit() ps = cursor.fetchall() for sender, text, id, time, sendername in ps: p = Post(sender, sendername, text, id, time) current_app.media.add_post(p) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select gonderenid, metin, paylasim.id, zaman, isim from paylasim, sirket, roller where (sirket.id = roller.varlikid and roller.rol = 'sirket' and roller.rolid = gonderenid)''' cursor.execute(query) connection.commit() ps = cursor.fetchall() for sender, text, id, time, sendername in ps: p = Post(sender, sendername, text, id, time) current_app.media.add_post(p) posts = current_app.media.get_all_posts() filename = '{yetki}/topluluk.html'.format(yetki=session['yetki']) return render_template(filename, posts=posts, shownewpost=True, services=services)
Paylaşım Ekleme Kodu
- Eklenecek olan paylaşımın metni HTML formdan alınıyor, eğer metin boş değilse, gönderenid’si ‘session[‘rolid’]’ olarak alınıyor
- SQL ‘insert’ komutu uygulanıyor ve kullanıcı topluluk sayfasına geri gönderiliyor
text = request.form['text'] if text: with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = "insert into paylasim (gonderenid, metin) values ({senderid}, '{text}')".format(senderid=session['rolid'], text=text) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.community'))
Paylaşım Düzenleme Kodu
- Paylaşımid’si fonksiyon parametresi olarak ve paylaşımın yeni metni HTML den alınıyor, eğer metin boş değilse SQL ‘update’ komutu uygulanıyor
- Kullanıcı topluluk sayfasına geri gönderiliyor
text = request.form['text'] if text: current_app.media.update_post_text(id, text) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''update paylasim set metin = '{text}' where id = {postid}'''.format(text=text, postid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.community'))
Paylaşım Silme Kodu
- Silinecek olan paylaşımın id’si fonksiyon parametresi olarak HTML den alınıyor SQL ‘delete’ komutu uygulanıyor ve kullanıcı topluluk sayfasına geri gönderiliyor
current_app.media.delete_post(id) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''delete from paylasim where id = {postid}'''.format(postid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.community'))
Mesaj
Mesajları Gösterme Kodu
- Mesajlaşma arkadaşının id’si fonksiyon parametresi olarak HTML den, kullanıcının id’si ‘session[‘rolid’]’ olarak alınıyor
- Bu iki kişi arasında geçen bütün mesajlar veritabanından seçiliyor ve ‘media’ değişkeni içerisinde tutuluyor ve HTML dosyasına gönderiliyor
messages = [] idrol = "" friendid = id with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select rol from roller where rolid = {id}'''.format(id=friendid) cursor.execute(query) connection.commit() rol = cursor.fetchone() idrol, = rol with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select mesaj.id, metin, zaman, gonderenid, aliciid, gonderen.isim, alan.isim from mesaj, {grol} as gonderen, {arol} as alan, roller as gonderenrol, roller as alanrol where (gonderenid = gonderenrol.rolid and aliciid = alanrol.rolid) and (gonderen.id = gonderenrol.varlikid and alan.id = alanrol.varlikid) and (gonderenrol.rol = '{gorol}' and alanrol.rol = '{alrol}') and (gonderenrol.rolid = {goid} and alanrol.rolid = {alid})'''.format(grol=session['rol'], arol=idrol, gorol=session['rol'], alrol=idrol, goid=session['rolid'], alid=friendid) cursor.execute(query) connection.commit() messages = cursor.fetchall() for id, text, time, sender, receiver, sendername, receivername in messages: m = Message(sender, sendername, receiver, receivername, text, id, time) current_app.media.add_message(m) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select mesaj.id, metin, zaman, gonderenid, aliciid, gonderen.isim, alan.isim from mesaj, {grol} as gonderen, {arol} as alan, roller as gonderenrol, roller as alanrol where (gonderenid = gonderenrol.rolid and aliciid = alanrol.rolid) and (gonderen.id = gonderenrol.varlikid and alan.id = alanrol.varlikid) and (gonderenrol.rol = '{gorol}' and alanrol.rol = '{alrol}') and (gonderenrol.rolid = {goid} and alanrol.rolid = {alid})'''.format(grol=idrol, arol=session['rol'], gorol=idrol, alrol=session['rol'], goid=friendid, alid=session['rolid']) cursor.execute(query) connection.commit() messages = cursor.fetchall() for id, text, time, sender, receiver, sendername, receivername in messages: m = Message(sender, sendername, receiver, receivername, text, id, time) current_app.media.add_message(m) messages = current_app.media.get_all_messages() filename = '{yetki}/messages.html'.format(yetki=session['yetki']) return render_template(filename, messages=messages, users=users, shownewmessage=True)
Mesaj Ekleme Kodu
- Mesajlaşma arkadaşının id’si fonksiyon parametresi olarak, mesajın metni HTML den alınıyor, eğer metin boş değilse SQL ‘insert’ komutu uygulanıyor
- Kullanıcı bulunduğu mesajlaşma sayfasına geri gönderiliyor
text = request.form['text'] if text: with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = "insert into mesaj (gonderenid, aliciid, metin) values ({senderid}, {receiverid}, '{text}')".format(senderid=session['rolid'], receiverid=id, text=text) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.show_chat', id=id))
Mesaj Düzenleme Kodu
- Mesaj id’si fonksiyon parametresi olarak, mesajın yeni metni de HTML ‘form’undan alınıyor, metin boş değilse SQL ‘update’ komutu uygulanıyor
- Kullanıcı bulunduğu mesajlaşma sayfasına gönderiliyor
text = request.form['text'] kisiid = request.form['kisiid'] if text: current_app.media.update_message_text(id, text) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''update mesaj set metin = '{text}' where id = {messageid}'''.format(text=text, messageid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.show_chat', id=kisiid))
Mesaj Silme Kodu
- Silinecek olan mesajın id’si fonksiyon parametresi olarak HTML den alınıyor ve SQL ‘delete’ komutu uygulanıyor
- Kullanıcı mesajlaşma sayfasına geri gönderiliyor
current_app.media.delete_message(id) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''delete from mesaj where id = {messageid}'''.format(messageid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.show_messages'))
Yorum
Hakkındaki Yorumları Gösterme Kodu
- Kişi id’si ‘session[‘rolid’]’ olarak alınıyor, ‘yorum’, ‘roller’ ve ‘kisi’ tabloları birleştiriliyor
- Kullanıcı hakkında olan bütün yorumlar seçiliyor ‘media’ içerisinde tutuluyor ve HTML dosyasına gönderiliyor
current_app.media.media_reset() with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, kisi as gonderen, {rol} as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = 'kisi' and hakkindarol.rol = '{hrol}') and (hakkindarol.rolid = '{id}')'''.format(rol=session['rol'], id=session['rolid'], hrol=session['rol']) cursor.execute(query) connection.commit() comments = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in comments: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, sirket as gonderen, {rol} as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = 'sirket' and hakkindarol.rol = '{hrol}') and (hakkindarol.rolid = '{id}')'''.format(rol=session['rol'], id=session['rolid'], hrol=session['rol']) cursor.execute(query) connection.commit() comments = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in comments: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) comments = current_app.media.get_all_comments() filename = '{yetki}/comments-about-you.html'.format(yetki=session['yetki']) return render_template(filename, comments=comments)
Yaptığın Yorumları Gösterme Kodu
- Gönderen id’si ‘session[‘rolid’]’ olarak alınıyor, ‘yorum’, ‘roller’ ve ‘kisi’ tabloları birleştiriliyor
- Kullanıcın gönderdiği bütün yorumlar seçiliyor ‘media’ içerisinde tutuluyor ve HTML dosyasına gönderiliyor
current_app.media.media_reset() with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, {rol} as gonderen, kisi as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = '{grol}' and hakkindarol.rol = 'kisi') and (gonderenrol.rolid = '{id}')'''.format(rol=session['rol'], id=session['rolid'], grol=session['rol']) cursor.execute(query) connection.commit() comments = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in comments: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, {rol} as gonderen, sirket as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = '{grol}' and hakkindarol.rol = 'sirket') and (gonderenrol.rolid = '{id}')'''.format(rol=session['rol'], id=session['rolid'], grol=session['rol']) cursor.execute(query) connection.commit() comments = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in comments: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) comments = current_app.media.get_all_comments() filename = '{yetki}/comments-you-made.html'.format(yetki=session['yetki']) return render_template(filename, comments=comments)
Kişi veya Şirketler Hakkındaki Yorumları Gösterme Kodu
- Hakkındaki yorumlara bakılacak kişinin id’si fonksiyon parametresi olarak HTML den alınıyor ve ‘şirket’ mi yoksa ‘kişi’ mi olduğu bulunuyor
- ‘yorum’, ‘kişi’ veya ‘şirket’ ve ‘roller’ tabloları birletirilip, istenen kullanıcı hakkındaki bütün yorumlar seçiliyor
- Bütün yorumlar ‘media’ değişkeni içerisinde tutuluyor ve HTML dosyasına gönderiliyor
current_app.media.media_reset() if request.method == 'GET': comments = [] idrol = "" aid = id with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select rol from roller where rolid = {id}'''.format(id=aid) cursor.execute(query) connection.commit() rol = cursor.fetchone() idrol, = rol with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, sirket as gonderen, {rol} as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = 'sirket' and hakkindarol.rol = '{hrol}') and (hakkindarol.rolid = '{id}')'''.format(rol=idrol, id=aid, hrol=idrol) cursor.execute(query) connection.commit() cs = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in cs: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''select yorum.id, metin, zaman, gonderenid, hakkindaid, gonderen.isim, hakkinda.isim from yorum, kisi as gonderen, {rol} as hakkinda, roller as gonderenrol, roller as hakkindarol where (gonderenid = gonderenrol.rolid and hakkindaid = hakkindarol.rolid) and (gonderen.id = gonderenrol.varlikid and hakkinda.id = hakkindarol.varlikid) and (gonderenrol.rol = 'kisi' and hakkindarol.rol = '{hrol}') and (hakkindarol.rolid = '{id}')'''.format(rol=idrol, id=aid, hrol=idrol) cursor.execute(query) connection.commit() cs = cursor.fetchall() for id, text, time, senderid, aboutid, sendername, aboutname in cs: c = Comment(id, senderid, aboutid, sendername, aboutname, text, time) current_app.media.add_comment(c) comments = current_app.media.get_all_comments() filename = '{yetki}/comments-about-someone.html'.format(yetki=session['yetki']) return render_template(filename, comments=comments, shownewcomment=True)
Yorum Ekleme Kodu
- Yorumun metni HTML ‘form’ dan alınıyor, eğer metin boş değilse SQL ‘insert’ komutu uygulanıyor
- Kullanıcı bulunduğu sayfaya geri gönderiliyor
text = request.form['text'] if text: with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = "insert into yorum (gonderenid, hakkindaid, metin) values ({senderid}, {aboutid}, '{text}')".format(senderid=session['rolid'], aboutid=id, text=text) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.show_comments', id=id))
Yorum Düzenleme Kodu
- Yorumun id’si fonksiyon parametresi olarak, yorumun yeni metni HTML ‘form’ dan alınıyor, eğer metin boş değilse SQL ‘update’ komutu uygulanıyor
- Kullanıcı bulunduğu sayfaya geri gönderiliyor
text = request.form['text'] kisiid = request.form['kisiid'] if text: current_app.media.update_comment_text(id, text) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''update yorum set metin = '{text}' where id = {commentid}'''.format(text=text, commentid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.show_comments', id=kisiid))
Yorum Silme Kodu
- Silinecek yorumun id’si fonksiyon parametresi olarak HTML den alınıyor ve SQL ‘delete’ komutu uygulanıyor
- Kullanıcı topluluk sayfasına yönlendiriliyor
current_app.media.delete_comment(id) with dbapi2.connect(current_app.config['dsn']) as connection: cursor = connection.cursor() query = '''delete from yorum where id = {commentid}'''.format(commentid=id) cursor.execute(query) connection.commit() return redirect(url_for('topluluk.community'))