libreccm-legacy/ccm-cms-assets-notes/pdl/com/arsdigita/london/notes/Notes.pdl

44 lines
1.7 KiB
Plaintext
Executable File

// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
model com.arsdigita.london.notes;
import com.arsdigita.cms.ContentItem;
import com.arsdigita.kernel.ACSObject;
import com.arsdigita.auditing.BasicAuditTrail;
object type Note extends ACSObject {
String[0..1] content = ca_notes.content CLOB;
Long[1..1] rank = ca_notes.rank;
reference key ( ca_notes.note_id );
// Basic auditing info
unversioned BasicAuditTrail[0..1] auditing =
qualias { filter(all(com.arsdigita.auditing.BasicAuditTrail),
id == this.id) };
aggressive load(auditing.id,
auditing.creationDate,
auditing.creationIP,
auditing.lastModifiedDate,
auditing.lastModifiedIP);
}
association {
composite ContentItem[1..1] owner = join ca_notes.owner_id to
cms_items.item_id;
component Note[0..n] ca_notes = join cms_items.item_id to ca_notes.owner_id;
}