BASEDIR "/src/"; MODULE MCMS.Feedback EXTENDS Mod.MCMS.StaticBlock.StaticBlock { @version "0.5.0"; GENTABLEXML REPLACE; GENSCRIPT REPLACE "install" INSTALL { CREATE TABLE messages; CREATE TABLE marktypes; CREATE TABLE marks; } GENSCRIPT REPLACE "remove" REMOVE { DROP TABLE marks; DROP TABLE marktypes; DROP TABLE messages; } MODEL Message { @note "Feedback postings"; id ObjectID; site_id NULLABLE Integer; instance NULLABLE String(64) DEFAULT NULL; created_at DateTime DEFAULT NOW; from_name String(255); from_mail EMail; message Text; PKEY id; } MODEL MarkType { id ObjectID; site_id NULLABLE Integer; langu_key String(32); langu_default String(128); avaible_from NULLABLE DateTime DEFAULT NULL; avaible_till NULLABLE DateTime DEFAULT NULL; PKEY id; } MODEL Mark { id ObjectID; type REF MarkType:id ALTER=CASCADE DROP=CASCADE; value Short; PKEY id; } SERVICE Repos { METHOD storeMessage(Message msg) STORES msg:id IN "m_mcms#feedback_messages"; METHOD dropMessage(Message msg) REMOVES msg(id=id) FROM "m_mcms#feedback_messages"; } view index { SHOW FORM FIELDS Message form IGNORE id, site_id, instance, created_at; } action send { } view tnx { } }