BASEDIR "/src/"; MODULEX MCMS.LinkDB EXTENDS Mod.Base.Base { @version "1.0.0"; GENTABLEXML REPLACE; MODEL Category { id ObjectID; site_id Integer; instance String(32); name String(128); desc String(255) DEFAULT ''; ~links []Object; PKEY id; } MODEL Link { id ObjectID; cat_id REF Category:id DROP=CASCADE ALTER=CASCADE; url URL DEFAULT ''; desc String(255) DEFAULT ''; PKEY id; } SERVICE Repository { METHOD storeCat(Category cat) STORES cat:id IN "m_mcms#linkdb_categorys"; METHOD delCat(Category cat) REMOVES cat(id=id) FROM "m_mcms#linkdb_categorys" CASCADE Link FROM "m_mcms#linkdb_links" (id=cat_id); METHOD storeLink(Link link) STORES link:id IN "m_mcms#linkdb_links"; METHOD delLink(Link link) REMOVES link(id=id) FROM "m_mcms#linkdb_links"; METHOD getCatList(Integer site_id, String instance) GETALL site_id=site_id,instance=instance AS Category ORDERBY "name" FROM "m_mcms#linkdb_categorys"; METHOD getLinkList(Integer cat_id) GETALL cat_id=cat_id AS Link ORDERBY "url" FROM "m_mcms#linkdb_links"; } view index { LIST Category cats>cat { SHOW Category cat; LIST Link links>link { SHOW Link link; } } } view editCat { CHECKPERM manage; SHOW FORM Category cat; } action updateCat { CHECKPERM manage; } view editLink { CHECKPERM manage; SHOW FORM Link link; } action updateLink { CHECKPERM manage; } }