public function save($resource)
{
if ($resource->getId()) {
- $query = 'UPDATE kronolith_resources SET resource_name = ?, resource_calendar = ? , resource_description = ?, resource_response_type = ?, resource_type = ?, resource_members = ? WHERE resource_id = ?';
- $values = array($this->convertToDriver($resource->get('name')), $resource->get('calendar'), $this->convertToDriver($resource->get('description')), $resource->get('response_type'), $resource->get('type'), serialize($resource->get('members')), $resource->getId());
+ $query = 'UPDATE kronolith_resources SET resource_name = ?, resource_calendar = ? , resource_description = ?, resource_response_type = ?, resource_type = ?, resource_members = ?, resource_email = ? WHERE resource_id = ?';
+ $values = array($this->convertToDriver($resource->get('name')), $resource->get('calendar'), $this->convertToDriver($resource->get('description')), $resource->get('response_type'), $resource->get('type'), serialize($resource->get('members')), $resource->get('email'), $resource->getId());
$result = $this->_write_db->query($query, $values);
$this->handleError($result);
} else {
- $query = 'INSERT INTO kronolith_resources (resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members)';
- $cols_values = ' VALUES (?, ?, ?, ?, ?, ?, ?)';
+ $query = 'INSERT INTO kronolith_resources (resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members, resource_email)';
+ $cols_values = ' VALUES (?, ?, ?, ?, ?, ?, ?, ?)';
$id = $this->_db->nextId('kronolith_resources');
- $values = array($id, $this->convertToDriver($resource->get('name')), $resource->get('calendar'), $this->convertToDriver($resource->get('description')), $resource->get('response_type'), $resource->get('type'), serialize($resource->get('members')));
+ $values = array($id, $this->convertToDriver($resource->get('name')), $resource->get('calendar'), $this->convertToDriver($resource->get('description')), $resource->get('response_type'), $resource->get('type'), serialize($resource->get('members'), $resource->get('email')));
$result = $this->_write_db->query($query . $cols_values, $values);
$this->handleError($result);
$resource->setId($id);
*/
public function getResource($id)
{
- $query = 'SELECT resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members FROM kronolith_resources WHERE resource_id = ?';
+ $query = 'SELECT resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members, resource_email FROM kronolith_resources WHERE resource_id = ?';
$results = $this->_db->getRow($query, array($id), DB_FETCHMODE_ASSOC);
$this->handleError($results);
if (empty($results)) {
return array();
}
- $query = 'SELECT resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members FROM kronolith_resources';
+ $query = 'SELECT resource_id, resource_name, resource_calendar, resource_description, resource_response_type, resource_type, resource_members, resource_email FROM kronolith_resources';
if (count($filter)) {
$clause = ' WHERE ';
$i = 0;
$this->addVariable(_("Name"), 'name', 'text', true);
$this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60));
+ $this->addVariable(_("Email"), 'email', 'email', false);
$v = &$this->addVariable(_("Response type"), 'responsetype', 'enum', true, false, null, array('enum' => $responses));
$v->setDefault(Kronolith_Resource::RESPONSETYPE_AUTO);
$this->addVariable(_("Groups"), 'category', 'multienum', false, false, null, array('enum' => $enum));
{
$new = array('name' => $this->_vars->get('name'),
'description' => $this->_vars->get('description'),
- 'response_type' => $this->_vars->get('responsetype'));
+ 'response_type' => $this->_vars->get('responsetype'),
+ 'email' => $this->_vars->get('email'));
$resource = Kronolith_Resource::addResource(new Kronolith_Resource_Single($new));
/* Do we need to add this to any groups? */
$groups = $this->_vars->get('category');
- foreach ($groups as $group_id) {
- $group = Kronolith::getDriver('Resource')->getResource($group_id);
- $members = $group->get('members');
- $members[] = $resource->getId();
- $group->set('members', $members);
- $group->save();
+ if (!empty($groups)) {
+ foreach ($groups as $group_id) {
+ $group = Kronolith::getDriver('Resource')->getResource($group_id);
+ $members = $group->get('members');
+ $members[] = $resource->getId();
+ $group->set('members', $members);
+ $group->save();
+ }
}
}
$this->addHidden('', 'c', 'text', true);
$this->addVariable(_("Name"), 'name', 'text', true);
+ $this->addVariable(_("Email"), 'email', 'email', false);
$this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60));
$this->addVariable(_("Response type"), 'responsetype', 'enum', true, false, null, array('enum' => $responses));
$this->addVariable(_("Groups"), 'category', 'multienum', false, false, null, array('enum' => $enum));
$this->_resource->set('name', $new_name);
$this->_resource->set('description', $this->_vars->get('description'));
$this->_resource->set('response_type', $this->_vars->get('responsetype'));
+ $this->_resource->set('email', $this->_vars->get('email'));
/* Update group memberships */
$driver = Kronolith::getDriver('Resource');
$this->_params = array_merge(array('description' => '',
'response_type' => Kronolith_Resource::RESPONSETYPE_MANUAL,
'members' => '',
- 'calendar' => ''),
+ 'calendar' => '',
+ 'email' => ''),
$params);
}
}
$vars->set('name', $resource->get('name'));
+$vars->set('email', $resource->get('email'));
$vars->set('description', $resource->get('description'));
$vars->set('category', Kronolith::getDriver('Resource')->getGroupMemberships($resource->getId()));
$vars->set('responsetype', $resource->get('response_type'));
resource_response_type INT,
resource_type VARCHAR(255) NOT NULL,
resource_members VARCHAR(MAX),
+ resource_email VARCHAR(255),
PRIMARY KEY (resource_id)
);
resource_response_type INT,
resource_type VARCHAR(255) NOT NULL,
resource_members TEXT,
+ resource_email VARCHAR(255),
PRIMARY KEY (resource_id)
);
resource_description CLOB,
resource_response_type NUMBER(16),
resource_type VARCHAR2(255) NOT NULL,
+ resource_email VARCHAR2(255),
resource_members CLOB,
resource_response_type INT,
resource_type VARCHAR(255) NOT NULL,
resource_members TEXT,
+ resource_email VARCHAR(255),
PRIMARY KEY (resource_id)
);
resource_response_type INT,
resource_type VARCHAR(255) NOT NULL,
resource_members TEXT,
+ resource_email VARCHAR(255),
PRIMARY KEY (resource_id)
);
<name>resource_members</name>
<type>clob</type>
</field>
-
+
+ <field>
+ <name>resource_email</name>
+ <type>text</type>
+ <length>255</length>
+ </field>
<index>
<name>kronolith_resources_type_idx</name>
<field>
--- /dev/null
+ALTER TABLE kronolith_resources ADD resource_email VARCHAR2(255);
--- /dev/null
+ALTER TABLE kronolith_resources ADD resource_email VARCHAR(255);