You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.4 KiB
88 lines
2.4 KiB
<?php
|
|
/*********************************************************************
|
|
class.note.php
|
|
|
|
Simple note interface for affixing notes to users and organizations
|
|
|
|
Peter Rotich <peter@osticket.com>
|
|
Jared Hancock <jared@osticket.com>
|
|
Copyright (c) 2006-2013 osTicket
|
|
http://www.osticket.com
|
|
|
|
Released under the GNU General Public License WITHOUT ANY WARRANTY.
|
|
See LICENSE.TXT for details.
|
|
|
|
vim: expandtab sw=4 ts=4 sts=4:
|
|
**********************************************************************/
|
|
require_once(INCLUDE_DIR . 'class.orm.php');
|
|
|
|
class QuickNoteModel extends VerySimpleModel {
|
|
static $meta = array(
|
|
'table' => NOTE_TABLE,
|
|
'pk' => array('id'),
|
|
'ordering' => array('sort', 'created')
|
|
);
|
|
}
|
|
|
|
class QuickNote extends QuickNoteModel {
|
|
|
|
static $types = array(
|
|
'U' => /* @trans */ 'User',
|
|
'O' => /* @trans */ 'Organization',
|
|
);
|
|
var $_staff;
|
|
|
|
function display() {
|
|
return Format::display($this->body);
|
|
}
|
|
|
|
function getStaff() {
|
|
if (!isset($this->_staff) && $this->staff_id) {
|
|
$this->_staff = Staff::lookup($this->staff_id);
|
|
}
|
|
return $this->_staff;
|
|
}
|
|
|
|
function getFormattedTime() {
|
|
return Format::datetime(strpos($this->updated, '0000-') !== 0
|
|
? $this->updated : $this->created);
|
|
}
|
|
|
|
function getExtType() {
|
|
return static::$types[$this->ext_id[0]];
|
|
}
|
|
|
|
function getExtIconClass() {
|
|
switch ($this->ext_id[0]) {
|
|
case 'U':
|
|
return 'user';
|
|
case 'O':
|
|
return 'building';
|
|
}
|
|
}
|
|
|
|
function getIconTitle() {
|
|
return sprintf(__(
|
|
// `%s` will be the type of note (`user` or `orgnaization`)
|
|
"%s Note"),
|
|
__(static::$types[$this->ext_id[0]]));
|
|
}
|
|
|
|
static function forUser($user, $org=false) {
|
|
if ($org)
|
|
return static::objects()->filter(array('ext_id__in' =>
|
|
array('U'.$user->get('id'), 'O'.$org->get('id'))));
|
|
else
|
|
return static::objects()->filter(array('ext_id' => 'U'.$user->get('id')));
|
|
}
|
|
|
|
static function forOrganization($org) {
|
|
return static::objects()->filter(array('ext_id' => 'O'.$org->get('id')));
|
|
}
|
|
|
|
function save($refetch=false) {
|
|
if (count($this->dirty))
|
|
$this->updated = new SQLFunction('NOW');
|
|
return parent::save($refetch);
|
|
}
|
|
}
|