1 package de.webman.form.eventhandler; 2 3 import com.teamkonzept.web.*; 4 import com.teamkonzept.webman.*; 5 import com.teamkonzept.webman.db.TKWebmanDBManager; 6 import com.teamkonzept.webman.mainint.*; 7 import com.teamkonzept.webman.mainint.db.*; 8 import com.teamkonzept.webman.mainint.db.queries.*; 9 import com.teamkonzept.webman.mainint.events.*; 10 import com.teamkonzept.lib.*; 11 import com.teamkonzept.field.*; 12 import com.teamkonzept.field.db.*; 13 import com.teamkonzept.db.*; 14 import com.teamkonzept.publishing.markups.*; 15 import de.webman.form.Form; 16 17 23 public class CTEditHandler 24 extends DefaultEventHandler 25 implements ParameterTypes, 26 FrameConstants, 27 DatabaseDefaults 28 { 29 30 33 private static final CTEditHandler INSTANCE = new CTEditHandler(); 34 35 38 private CTEditHandler () 39 { 40 } 42 43 48 public static CTEditHandler getInstance () 49 { 50 return INSTANCE; 51 } 52 53 59 public void handleEvent (TKEvent event) 60 throws TKException 61 { 62 try 63 { 64 WebManEvent.checkEvent(event.getRemoteUser(), event.getName(), ContextConstants.CONTENT_TREE); 66 67 Form form = new Form(Integer.valueOf(event.getParameter(PARAMETER, "FORM_ID"))); 69 70 TKFormDBData formData = new TKFormDBData(form.getIdentifierAsInt(), form.getTypeAsInt()); 72 TKFormDBInterface.Get(formData); 73 String classId = ((TKFieldTableData) formData.field.firstElement()).field_type; 74 Object editData = TKFieldRegistry.getFieldFromDB(formData).toData(); 75 76 if (form.isFormFragment()) 77 { 78 TKFieldSwitchData switchFieldData = new TKFieldSwitchData(classId, classId, editData); 79 TKHashtable groupData = new TKHashtable(1); 80 groupData.put(TKBaseField.SUB_TYPE_KEY, switchFieldData); 81 editData = groupData; 82 } 83 84 TKHTMLTemplate template = event.getPrepHTMLTemplate("ct_fields.tmpl"); 86 87 CTUtils.getStructure(form.getTypeAsInt()).fillIntoTemplate(template, editData, ""); 88 CTUtils.keepCTContext(event, template); 89 90 template.set("FORM_TYPE", form.getType()); 91 template.set("MODIFY_CONTEXT", "CT"); 92 template.set("UPBASE", "/testupload/"); 93 94 WebManEvent.fillEventsIntoTemplate(event.getRemoteUser(), template, CONTENT_TREE); 96 event.finishTemplate(template); 97 } 98 catch (Throwable e) 99 { 100 throw WebmanExceptionHandler.getException(e); 102 } 103 } 104 105 112 public boolean isHandler (TKEvent event) 113 { 114 return event.getName().equalsIgnoreCase("CT_EDIT") || event.getName().equalsIgnoreCase("CT_REVERT"); 115 } 116 117 } 118 | Popular Tags |