package com.afac.friday.{project}.ArkPages; import com.afac.friday.endpoint.core.FChange; import com.afac.friday.endpoint.core.FMessage; import com.afac.friday.endpoint.core.FResponse; import com.afac.friday.endpoint.core.FMessage.FMessageType; import com.afac.friday.endpoint.form.FForm; import com.afac.friday.endpoint.form.FormStatefull; import com.afac.friday.{project}.ArkRecords.{CLASSNAME}; import static com.afac.friday.html.lang.HtmlHelper.*; import java.util.Map; import org.arkserver.ARKData.ArkRecord.RecordStatus; import org.arkserver.ARKRecords.User; import org.arkserver.protocols.http.IHTTPSession; import org.arkserver.util.ObjectCore; import org.arkserver.util.RecordCore; import org.arkserver.ArkAuth.UserSession; public class Form{CLASSNAME} extends FormStatefull { public static {CLASSNAME} selected{CLASSNAME}; public Form{CLASSNAME}() { super( FCard("list{TABLENAME}", FCardHeader( "{FORMNAME}", FIconTextButton("new{TABLENAME}-startnew", "Yeni","ri-add-line", "primary", "call", Form{CLASSNAME}.class, "startNew"), FIconTextButton("new{TABLENAME}-startedit", "Düzenle","ri-pencil-line", "dark", "call", Form{CLASSNAME}.class, "startEdit"), FIconTextButton("new{TABLENAME}-delete", "Sil","ri-subtract-line", "danger", "call", Form{CLASSNAME}.class, "delete"), FIconButton("new{TABLENAME}-refresh"," ri-refresh-line", "info", "call", Form{CLASSNAME}.class, "refresh") ), FCardBody( {TABLE} ) ), text(""), FCard("new{TABLENAME}", "d-none", FCardHeader( "Yeni" ), FCardBody( {NEWFORM} ) ), text(""), FCard("edit{TABLENAME}", "d-none", FCardHeader( "Düzenle" ), FCardBody( {EDITFORM} ) ), text("") ); } public FResponse selected(IHTTPSession session) { FResponse fr = new FResponse(); String selected = session.getParms().get("id"); if(selected != null) { selected{CLASSNAME} = ({CLASSNAME}) ObjectCore.getRecordByClassAndPK({CLASSNAME}.class, selected); } return fr; } public FResponse startNew(IHTTPSession session) { FResponse fr = new FResponse(); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", true)); fr.changeList.add(new FChange("new{TABLENAME}", "hidden", false)); return fr; } public FResponse startEdit(IHTTPSession session) { FResponse fr = new FResponse(); if(selected{CLASSNAME} != null) { fr.changeList.addAll(FForm.fillForm(selected{CLASSNAME},"edit")); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", true)); fr.changeList.add(new FChange("edit{TABLENAME}", "hidden", false)); }else { fr.message.add(new FMessage(FMessageType.warning, "Düzenleme Hatası", "Lütfen önce düzenlenecek kaydı seçiniz!",2)); } return fr; } public FResponse delete(IHTTPSession session) { FResponse fr = new FResponse(); if(selected{CLASSNAME} != null) { selected{CLASSNAME}.delete(false); fr.message.add(new FMessage(FMessageType.success, "Silme İşlemi", "Kayıt başarıyla silinmiştir!",2)); fr.changeList.add(new FChange("{TABLENAME}", "refresh", true)); }else { fr.message.add(new FMessage(FMessageType.warning, "Silme Hatası", "Lütfen önce düzenlenecek kaydı seçiniz!",2)); } return fr; } public FResponse cancelNew(IHTTPSession session) { FResponse fr = new FResponse(); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", false)); fr.changeList.add(new FChange("new{TABLENAME}", "hidden", true)); return fr; } public FResponse saveNew(IHTTPSession session) { FResponse fr = new FResponse(); {CLASSNAME} {TABLENAME} = new {CLASSNAME}(); FForm.fillRecord({TABLENAME}, session.getParms()); if({TABLENAME}.save() == RecordStatus.SUCCESS) { fr.message.add(new FMessage(FMessageType.success, "Kayıt Başarılı", "Yeni kayıt başarıyla kaydedilmiştir",1)); {TABLENAME} = new {CLASSNAME}(); fr.changeList.addAll(FForm.fillForm({TABLENAME},"new")); fr.changeList.add(new FChange("{TABLENAME}", "refresh", true)); }else { fr.message.add(new FMessage(FMessageType.error, "Kayıt Hatası", "Kayıt kaydedilirken kayıta oluştu")); } return fr; } public FResponse save(IHTTPSession session) { FResponse fr = new FResponse(); {CLASSNAME} {TABLENAME} = new {CLASSNAME}(); FForm.fillRecord({TABLENAME}, session.getParms()); User user = UserSession.isLogin(session); {TABLENAME}.setUserFK(user.getUserPK().replace("-", "")); if({TABLENAME}.save() == RecordStatus.SUCCESS) { fr.message.add(new FMessage(FMessageType.success, "Kayıt başarılı", "Yeni kayıt başarıyla kaydedilmiştir",1)); {TABLENAME} = new {CLASSNAME}(); fr.changeList.addAll(FForm.fillForm({TABLENAME},"new")); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", false)); fr.changeList.add(new FChange("new{TABLENAME}", "hidden", true)); fr.changeList.add(new FChange("{TABLENAME}", "refresh", true)); }else { fr.message.add(new FMessage(FMessageType.error, "Kayıt Hatası", "Kayıt kaydedilirken kayıta oluştu")); } return fr; } public FResponse saveEdit(IHTTPSession session) { FResponse fr = new FResponse(); FForm.fillRecord(selected{CLASSNAME}, session.getParms()); if(selected{CLASSNAME}.save() == RecordStatus.SUCCESS) { fr.message.add(new FMessage(FMessageType.success, "Kayıt başarılı", "Kayıt başarıyla düzenlenmiştir",1)); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", false)); fr.changeList.add(new FChange("edit{TABLENAME}", "hidden", true)); fr.changeList.add(new FChange("{TABLENAME}", "refresh", true)); } return fr; } public FResponse refresh(IHTTPSession session) { FResponse fr = new FResponse(); fr.changeList.add(new FChange("{TABLENAME}", "refresh", true)); return fr; } public FResponse cancelEdit(IHTTPSession session) { FResponse fr = new FResponse(); fr.changeList.add(new FChange("list{TABLENAME}", "hidden", false)); fr.changeList.add(new FChange("edit{TABLENAME}", "hidden", true)); return fr; } @Override public String getId() { return "form-{TABLENAME}"; } @Override public String getTitle() { return "{FORMNAME}"; } }