return $fm->toHTML($size, $base);
}
+ function toRooSingleArray($authUser, $request)
+ {
+ $ret = $this->toArray();
+ // DB_DataObject::debugLevel(1);
+ // get the comptype display
+ $e = DB_DataObject::Factory('core_enum');
+ $e->etype = 'COMPTYPE';
+ $e->name = $this->comptype;
+ $ret['comptype_display'] = $ret['comptype'];
+ if ($e->find(true) && !empty($e->name_display)) {
+ $ret['comptype_display'] = $e->name_display;
+ }
+
+
+ return $ret;
+ }
}
public $active; // int(2) not_null
public $seqid; // int(11) not_null multiple_key
public $seqmax; // int(11) not_null multiple_key
-
+ public $display_name;
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
$this->selectAdd("count($tn.id) as qty");
$this->selectAdd("count( distinct $tn.on_id) as uqty");
$this->whereAdd('LENGTH(join_person_id_id.name) > 0 ');
- $this->groupBy('person_id');
+ $this->groupBy('person_id,join_person_id_id.name,join_person_id_id.email');
}
if (isset($q['query']['table_sum'])) {
//DB_DataObject::debugLevel(1);
$x->insert();
}
+
+
+
+ function onInsert($request,$roo)
+ {
+ $this->writeEventLog();
+ }
+
+ function writeEventLog()
+ {
+ $ff = HTML_FlexyFramework::get();
+ if (empty($ff->Pman['event_log_dir'])) {
+ return false;
+ }
+
+ // add user (eg. www-data or local user if not..)
+ if (function_exists('posix_getpwuid')) {
+ $uinfo = posix_getpwuid( posix_getuid () );
+
+ $user = $uinfo['name'];
+ } else {
+ $user = getenv('USERNAME'); // windows.
+ }
+ //print_r($this);
+ $file = $ff->Pman['event_log_dir']. '/'. $user. date('/Y/m/d/'). $this->id . ".json";
+ if (!file_exists(dirname($file))) {
+ mkdir(dirname($file),0700,true);
+ }
+
+ // Remove all the password from logs...
+ $p = empty($_POST) ? array() : $_POST;
+ foreach(array('passwd', 'password', 'passwd2', 'password2') as $rm) {
+ if (isset($p[$rm])) {
+ $p['passwd'] = '******';
+ }
+ }
+ $i=0;
+ $files = array();
+ foreach ($_FILES as $k=>$f){
+ if (empty($f['tmp_name']) || !file_exists($f['tmp_name'])) {
+ continue;
+ }
+ $i++;
+ $files[$k] = $f;
+ $files[$k]['tmp_name'] = $this->id . '.file_'. $i.'.jpg';
+ $nf = $ff->Pman['event_log_dir']. '/'. $this->id . ".file_$i.jpg";
+ if (!copy($f['tmp_name'], $nf)) {
+ print_r("failed to copy {$f['tmp_name']}...\n");
+ }
+ }
+
+ file_put_contents($file, json_encode(array(
+ 'REQUEST_URI' => empty($_SERVER['REQUEST_URI']) ? 'cli' : $_SERVER['REQUEST_URI'],
+ 'GET' => empty($_GET) ? array() : $_GET,
+ 'POST' =>$p,
+ 'FILES' => $files,
+ )));
+
+ }
+
+
}
*/
require_once 'DB/DataObject.php';
-class Pman_Core_DataObjects_Group_Members extends DB_DataObject
+class Pman_Core_DataObjects_Group_members extends DB_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
- public $__table = 'Group_Members'; // table name
+ public $__table = 'group_members'; // table name
public $group_id; // int(11)
public $id; // int(11) not_null primary_key auto_increment
public $user_id; // int(11) not_null
function change($person, $group, $state)
{
- $gm = DB_DataObject::factory('Group_Members');
+ $gm = DB_DataObject::factory('group_members');
$gm->group_id = $group->id;
$gm->user_id = $person->id;
$gm->find(true);
require_once 'DB/DataObject.php';
-class Pman_Core_DataObjects_Group_Rights extends DB_DataObject
+class Pman_Core_DataObjects_Group_rights extends DB_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
- public $__table = 'Group_Rights'; // table name
+ public $__table = 'group_rights'; // table name
public $rightname; // string(64) not_null
public $group_id; // int(11) not_null
public $accessmask; // string(10) not_null
var $fullRights = "ADESPIM";
- function listPermsFromGroupIds($grps, $isAdmin=false) {
+ function listPermsFromGroupIds($grps, $isAdmin=false, $isOwner = false) {
$t = clone($this);
$t->whereAdd('group_id IN ('. implode(',', $grps).')');
+ $t->autoJoin();
$t->find();
- $ret = array();
+
+ $ret = array();
while($t->fetch()) {
+
+
+
+
if (isset($ret[$t->rightname])) {
$ret[$t->rightname] = $this->mergeMask($ret[$t->rightname], $t->accessmask);
continue;
}
// blank out rights that are disabled by the system..
$defs = $this->defaultPermData();
+
+
+
//echo "<PRE>";print_r($defs);
$r = array();
foreach($defs as $k=>$v) {
+
+
+
if (empty($v[0])) { // delete right if not there..
$r[$k] = '';
continue;
if (isset($ret[$k])) {
if (empty($ret[$k]) && $isAdmin) {
- $r[$k] = $v[0];
+ $r[$k] = $v[0] ; // -- it's admin they get rights... can not be disabled..
continue;
}
-
+ // in theory non-owners could sneak in rights here..??
$r[$k] = $ret[$k];
continue;
}
// not set contition...
+ if (!$isOwner) {
+ $r[$k] = '';
+ continue;
+ }
$r[$k] = $isAdmin ? $v[0] : $v[1];
// M????
-
+ $gid = empty($this->group_id) ? 0 : $this->group_id;
static $Pman_DataObjects_Group_Right = array();
- if (!empty($Pman_DataObjects_Group_Right)) {
- return $Pman_DataObjects_Group_Right;
+
+
+ if (!empty($Pman_DataObjects_Group_Right[$gid])) {
+ return $Pman_DataObjects_Group_Right[$gid];
+ }
+ $has_admin = true; ///?? not sure..
+ if ($gid) {
+ $g = DB_DataObject::factory('groups');
+ $g->get($this->group_id);
+ $has_admin = $g->type == 2 ? false : true;
}
+
+
$ff = HTML_FlexyFramework::get();
//print_R($ff);
$enabled = array('Core') ;
$ret = array();
//echo '<PRE>';print_r($enabled);
foreach($enabled as $module) {
+
+ if (($module == 'Admin') && !$has_admin) {
+ continue;
+ }
+
$fn = $pman. $module. '/'.$module. '.perms.json';
if (!file_exists($fn)) {
continue;
}
}
- $Pman_DataObjects_Group_Right = $ret;
+ $Pman_DataObjects_Group_Right[$gid] = $ret;
// print_r($ret);
- return $Pman_DataObjects_Group_Right;
+ return $Pman_DataObjects_Group_Right[$gid];
}
{
// all groups must have the minimum privaligess..
// admin group must have all the privaliges
- $g = DB_DataObject::Factory('Groups');
+ $g = DB_DataObject::Factory('groups');
$g->get($this->group_id);
$defs = $this->defaultPermData();
switch($g->name) {
//echo '<PRE>';print_r($defs);
//$usecol = 1;
foreach($defs as $rightname => $defdata) {
- $gr = DB_DataObject::Factory('Group_Rights');
+ $gr = DB_DataObject::Factory('group_rights');
$gr->rightname = $rightname;
$gr->group_id = $g->id;
if (!$gr->find(true)) {
function beforeDelete()
{
$x = DB_DataObject::factory('Groups');
- $x->query("DELETE FROM Group_Rights WHERE group_id = {$this->id}");
- $x->query("DELETE FROM Group_Members WHERE group_id = {$this->id}");
+ $x->query("DELETE FROM group_rights WHERE group_id = {$this->id}");
+ $x->query("DELETE FROM group_members WHERE group_id = {$this->id}");
}
/**
* check who is trying to access this. false == access denied..
$pi = DB_DataObject::factory(empty($ff->Pman['authTable']) ? 'Person' : $ff->Pman['authTable']);
$pi->get($this->leader);
- $p = DB_DataObject::factory('Group_Members');
+ $p = DB_DataObject::factory('group_members');
$p->group_id = $this->id;
$p->user_id = $this->leader;
//$p->type = 1; //???????
function memberIds()
{
- $gm = DB_Dataobject::factory('Group_Members');
+ $gm = DB_Dataobject::factory('group_members');
$gm->group_id = $this->id;
return $gm->fetchAll('user_id');
function addMember($person)
{
- $gm = DB_Dataobject::factory('Group_Members');
+ $gm = DB_Dataobject::factory('group_members');
$gm->group_id = $this->id;
$gm->user_id = $person->id;
if (!$gm->count()) {
public $linkurl; // string(254) not_null
public $descript; // blob(65535) not_null blob
public $title; // string(128) not_null
-
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
));
}
-
/**
* deletes all the image instances of it...
return $fc;
}
+
+ function fileExt()
+ {
+ require_once 'File/MimeType.php';
+
+ $y = new File_MimeType();
+ return $y->toExt($this->mimetype);
+
+
+ }
+
/**
*
*
(isset($ff->HTTP_HOST) ? $ff->HTTP_HOST : 'localhost');
/* use the regex compiler, as it doesnt parse <tags */
- require_once 'HTML/Template/Flexy.php';
- $template = new HTML_Template_Flexy( array(
+
+ $tops = array(
'compiler' => 'Flexy',
'nonHTML' => true,
'filters' => array('SimpleTags','Mail'),
// 'debug'=>1,
- ));
+ );
+
+
+
+ if (!empty($args['templateDir'])) {
+ $tops['templateDir'] = $args['templateDir'];
+ }
+
+ require_once 'HTML/Template/Flexy.php';
+ $template = new HTML_Template_Flexy( $tops );
$g = DB_DataObject::factory('Groups');
$g->type = 0;
$g->get('name', 'Administrators');
- $gm = DB_DataObject::Factory('Group_Members');
+ $gm = DB_DataObject::Factory('group_members');
if (in_array($g->id,$gm->listGroupMembership($this))) {
// refresh admin groups.
- $gr = DB_DataObject::Factory('Group_Rights');
+ $gr = DB_DataObject::Factory('group_rights');
$gr->applyDefs($g, 0);
}
}
function active()
- {
+ {
return $this->active;
}
function authUserName($n) // set username prior to acheck user exists query.
// perms + groups.
$aur['perms'] = $this->getPerms();
- $g = DB_DataObject::Factory('Group_Members');
+ $g = DB_DataObject::Factory('group_members');
$aur['groups'] = $g->listGroupMembership($this, 'name');
$aur['passwd'] = '';
// ------ INIITIALIZE IF NO GROUPS ARE SET UP.
- $g = DB_DataObject::Factory('Group_Rights');
+ $g = DB_DataObject::Factory('group_rights');
if (!$g->count()) {
$g->genDefault();
}
return $g->adminRights(); // system is not set up - so they get full rights.
}
//DB_DataObject::debugLevel(1);
- $g = DB_DataObject::Factory('Group_Members');
+ $g = DB_DataObject::Factory('group_members');
$g->whereAdd('group_id is NOT NULL AND user_id IS NOT NULL');
if (!$g->count()) {
// add the current user to the admin group..
$g = DB_DataObject::Factory('Groups');
if ($g->get('name', 'Administrators')) {
- $gm = DB_DataObject::Factory('Group_Members');
+ $gm = DB_DataObject::Factory('group_members');
$gm->group_id = $g->id;
$gm->user_id = $this->id;
$gm->insert();
}
// ------ STANDARD PERMISSION HANDLING.
-
- $g = DB_DataObject::Factory('Group_Members');
+ $isOwner = $this->company()->comptype == 'OWNER';
+ $g = DB_DataObject::Factory('group_members');
$grps = $g->listGroupMembership($this);
//var_dump($grps);
$isAdmin = $g->inAdmin;
//echo '<PRE>'; print_r($grps);var_dump($isAdmin);
// the load all the perms for those groups, and add them all together..
// then load all those
- $g = DB_DataObject::Factory('Group_Rights');
- $ret = $g->listPermsFromGroupIds($grps, $isAdmin);
+ $g = DB_DataObject::Factory('group_rights');
+ $ret = $g->listPermsFromGroupIds($grps, $isAdmin, $isOwner);
//echo '<PRE>';print_r($ret);
return $ret;
function groups($what=false)
{
- $g = DB_DataObject::Factory('Group_Members');
+ $g = DB_DataObject::Factory('group_members');
$grps = $g->listGroupMembership($this);
$g = DB_DataObject::Factory('Groups');
$g->whereAddIn('id', $grps, 'int');
$this->active = 1;
}
$tn_p = $this->tableName();
- $tn_gm = DB_DataObject::Factory('Group_Members')->tableName();
+ $tn_gm = DB_DataObject::Factory('group_members')->tableName();
$tn_g = DB_DataObject::Factory('Groups')->tableName();
///---------------- Group views --------
$g->type = 0;
$g->get('name', 'Administrators');
- $p = DB_DataObject::factory('Group_Members');
+ $p = DB_DataObject::factory('group_members');
$p->group_id = $g->id;
$p->user_id = $this->id;
if (!$p->count()) {
ALTER TABLE Companies ADD COLUMN isOwner int(11) default NULL;
ALTER TABLE Companies ADD COLUMN logo_id INT(11) NOT NULL DEFAULT 0;;
ALTER TABLE Companies ADD COLUMN background_color varchar(8) NOT NULL;
-ALTER TABLE Companies ADD COLUMN comptype varchar(8) NOT NULL DEFAULT '';
+ALTER TABLE Companies ADD COLUMN comptype varchar(32) NOT NULL DEFAULT '';
ALTER TABLE Companies ADD COLUMN url varchar(254) NOT NULL DEFAULT '';
ALTER TABLE Companies ADD COLUMN main_office_id int(11) NOT NULL DEFAULT 0;
ALTER TABLE Companies ADD COLUMN created_by int(11) NOT NULL DEFAULT 0;
ALTER TABLE Companies CHANGE COLUMN isOwner isOwner int(11);
+ALTER TABLE Companies CHANGE COLUMN comptype comptype VARCHAR(32) DEFAULT '';
-- postres
ALTER TABLE Companies ALTER isOwner TYPE int(11);
ALTER TABLE Companies ALTER owner_id SET DEFAULT 0;
ALTER TABLE core_event_audit ADD COLUMN newvalue BLOB NOT NULL DEFAULT '';
ALTER TABLE core_event_audit ADD INDEX lookup(event_id, name, old_audit_id);
-CREATE TABLE Group_Members (
+-- BC name..
+RENAME TABLE Group_Members TO group_members;
+
+CREATE TABLE group_members (
id int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);
-ALTER TABLE Group_Members ADD COLUMN group_id int(11) default NULL;
-ALTER TABLE Group_Members ADD COLUMN user_id int(11) NOT NULL default 0;
+ALTER TABLE group_members ADD COLUMN group_id int(11) default NULL;
+ALTER TABLE group_members ADD COLUMN user_id int(11) NOT NULL default 0;
+
+-- BC name..
+RENAME TABLE Group_Rights TO group_rights;
+
-CREATE TABLE Group_Rights (
+CREATE TABLE group_rights (
id int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id)
);
-ALTER TABLE Group_Rights ADD COLUMN rightname varchar(64) NOT NULL DEFAULT '';
-ALTER TABLE Group_Rights ADD COLUMN group_id int(11) NOT NULL DEFAULT 0;
-ALTER TABLE Group_Rights ADD COLUMN accessmask varchar(10) NOT NULL DEFAULT '';
+ALTER TABLE group_rights ADD COLUMN rightname varchar(64) NOT NULL DEFAULT '';
+ALTER TABLE group_rights ADD COLUMN group_id int(11) NOT NULL DEFAULT 0;
+ALTER TABLE group_rights ADD COLUMN accessmask varchar(10) NOT NULL DEFAULT '';
#old mysql.
-ALTER TABLE Group_Rights CHANGE COLUMN AccessMask accessmask varchar(10) NOT NULL DEFAULT '';
+ALTER TABLE group_rights CHANGE COLUMN AccessMask accessmask varchar(10) NOT NULL DEFAULT '';
);
-alter table core_enum ADD COLUMN etype varchar(32) NOT NULL DEFAULT '';
+alter table core_enum ADD COLUMN etype varchar(32) NOT NULL DEFAULT '';
alter table core_enum ADD COLUMN name varchar(255) NOT NULL DEFAULT '';
-alter table core_enum ADD COLUMN active int(2) NOT NULL DEFAULT 1;
+alter table core_enum ADD COLUMN active int(2) NOT NULL DEFAULT 1;
alter table core_enum ADD COLUMN seqid int(11) NOT NULL DEFAULT 0;
alter table core_enum ADD COLUMN seqmax int(11) NOT NULL DEFAULT 0;
+alter table core_enum ADD COLUMN display_name varchar(255) NOT NULL DEFAULT '';
alter table core_enum ADD INDEX lookup(seqid, active, name, etype);
-
+
+UPDATE core_enum SET display_name = name WHERE display_name = '';
[Events__keys]
id = N
-[Group_Members]
+[group_members]
group_id = 1
id = 129
user_id = 129
-[Group_Members__keys]
+[group_members__keys]
id = N
-[Group_Rights]
+[group_rights]
rightname = 130
group_id = 129
AccessMask = 130
id = 129
-[Group_Rights__keys]
+[group_rights__keys]
id = N
[Groups]
owner_id = Person:id
main_office_id = Office:id
+
[Office]
company_id = Companies:id
[Groups]
leader = Person:id
-[Group_Members]
+[group_members]
group_id = Groups:id
user_id = Person:id
-[Group_Rights]
+[group_rights]
group_id = Groups:id
[Events]
- $p = DB_DataObject::factory('Group_Members');
+ $p = DB_DataObject::factory('group_members');
$p->group_id = (int)$_GET['group_id'];
$p->whereAdd('user_id IN ('. implode(',' ,array_keys($ret) ). ')');
$p->find();
$pi = DB_DataObject::factory('Person');
$pi->get($uid);
- $p = DB_DataObject::factory('Group_Members');
+ $p = DB_DataObject::factory('group_members');
$p->group_id = (int)$_POST['group_id'];
$p->user_id = $uid;
//$p->type = (int)$_POST['type'];
foreach($_POST['dataDelete'] as $id => $ac) {
- $m = DB_DataObject::factory('Group_Members');
+ $m = DB_DataObject::factory('group_members');
$m->get($id);
$m->delete();
}
if (!empty($_POST['dataAdd'])) {
foreach($_POST['dataAdd'] as $id => $ac) {
- $p = DB_DataObject::factory('Group_Members');
+ $p = DB_DataObject::factory('group_members');
$p->group_id = (int)$_POST['group_id'];
$p->user_id = $id;
$p->insert();
$bits= explode('/', $s);
$id = 0;
+
// without id as first part...
if (!empty($bits[0]) && $bits[0] == 'Thumb') {
$this->thumb = true;
$this->size = empty($bits[2]) ? '0x0' : $bits[2];
$id = empty($bits[3]) ? 0 : $bits[3];
+ } else if (!empty($bits[0]) && $bits[0] == 'events') {
+ $popts = PEAR::getStaticProperty('Pman','options');
+
+ header ('Content-Type: image/jpeg');
+ if(!empty($bits[2]) && $bits[2] == 'download'){
+ $file = "{$popts['event_log_dir']}/{$bits[1]}";
+ header("Content-Disposition: attachment; filename=\"".basename($file)."\";" );
+ ob_clean();
+ flush();
+ readfile($file);
+ }else{
+ $file = "{$popts['event_log_dir']}/{$bits[1]}.jpg";
+ $fh = fopen($file,'r');
+ echo fread($fh,filesize($file));
+ }
+ exit;
} else {
+
$id = empty($bits[0]) ? 0 : $bits[0];
}
//echo "SKALING? $this->size";
// acutally if we generated the image, then we do not need to validate the size..
+
+
// if the mimetype is not converted..
// then the filename should be original.{size}.jpeg
$fn = $img->getStoreName() . '.'. $this->size . '.jpeg'; // thumbs are currenly all jpeg.!???
- // var_dump($fn);
+
if (!file_exists($fn)) {
+ $fn = $img->getStoreName() . '.'. $this->size . '.'. $img->fileExt();
+ $this->as_mimetype = $img->mimetype;
+ }
+
+ if (!file_exists($fn)) {
+
$this->validateSize();
}
$attr_url = $attr[$attr_name];
$umatch = false;
if(!preg_match('#/(Images|Images/Thumb/[a-z0-9]+|Images/Download)/([0-9]+)/(.*)$#', $attr_url, $umatch)) {
- continue;
+ return $html;
}
$id = $umatch[2];
$img = DB_DataObject::factory('Images');
$w = DB_DataObject::factory($this->table);
if (!$showold) {
- $w->whereAdd('act_when > sent'); // eg.. sent is not valid..
+ // standard
+
+ $w->whereAdd('act_when > sent'); // eg.. sent is not valid..
+ $w->whereAdd('act_start > NOW() - INTERVAL 14 DAY'); // ignore the ones stuck in the queue
if (!$this->force) {
$w->whereAdd('act_when < NOW()'); // eg.. not if future..
}
$o = $w->object();
+
+ if ($o === false) {
+
+ $ev = $this->addEvent('NOTIFY', $w,
+ "Notification event cleared (underlying object does not exist)" );;
+ $ww = clone($w);
+ $w->sent = date('Y-m-d H:i:s');
+ $w->msgid = '';
+ $w->event_id = $ev->id;
+ $w->update($ww);
+ die(date('Y-m-d h:i:s ') .
+ "Notification event cleared (underlying object does not exist)"
+ ."\n");
+ }
+
+
+
$p = $w->person();
if (isset($p->active) && empty($p->active)) {
//print_r($email);exit;
// should we fetch the watch that caused it.. - which should contain the method to call..
// --send-to=test@xxx.com
- if (!empty($opts['send-to'])) {
+
+ if (!empty($email['send-to'])) {
+ $p->email = $email['send-to'];
+ }
+ if (!empty($opts['send-to'])) {
$p->email = $opts['send-to'];
}
+ //print_r($p);
require_once 'Validate.php';
if (!Validate::email($p->email, true)) {
$ev = $this->addEvent('NOTIFY', $w, "INVALID ADDRESS: " . $p->email);
// older that 1 day.
$retry = 120;
}
+ if (strtotime($w->act_start) < strtotime('NOW - 14 DAY')) {
+ $ev = $this->addEvent('NOTIFY', $w, "BAD ADDRESS - ". $p->email );
+ $w->sent = date('Y-m-d H:i:s');
+ $w->msgid = '';
+ $w->event_id = $ev->id;
+ $w->update($ww);
+ die(date('Y-m-d h:i:s') . " - FAILED - GAVE UP TO OLD - {$p->email} \n");
+ }
+
+
+
$w->to_email = $p->email;
//$this->addEvent('NOTIFY', $w, 'GREYLISTED ' . $p->email . ' ' . $res->toString());
$w->act_when = date('Y-m-d H:i:s', strtotime('NOW + ' . $retry . ' MINUTES'));
function makeEmail($object, $rcpt, $last_sent_date, $notify, $force =false)
{
$m = 'notify'. $notify->evtype;
- var_dump($m);
+ //var_dump($m);
if (!empty($notify->evtype) && method_exists($object,$m)) {
return $object->$m($rcpt, $last_sent_date, $notify, $force);
}
-
+ if (!method_exists($object, 'toEmail')) {
+ //var_Dump($object);
+ //exit;
+ }
return $object->toEmail($rcpt, $last_sent_date, $notify, $force);
}
+
+
+Pman.Dialog.Companies = new Roo.util.Observable({
+
+ show : function (data, callback)
+ {
+ Pman.Dialog.CoreCompanies.show({id:data.id});
+ }
+
+});
+
+
+
//<script type="text/javascript">
+/*
Pman.Dialog.Companies = new Roo.util.Observable({
}
});
+*/
\ No newline at end of file
--- /dev/null
+{
+ "id": "roo-file-97",
+ "name": "Pman.Dialog.CoreCompanies",
+ "parent": "",
+ "title": "",
+ "path": "/home/alan/gitlive/Pman.Core/Pman.Dialog.CoreCompanies.bjs",
+ "items": [
+ {
+ "autoCreate": "true",
+ "closable": false,
+ "collapsible": false,
+ "draggable": false,
+ "height": 400,
+ "modal": true,
+ "shadow": "true",
+ "title": "Edit Company",
+ "width": 750,
+ "xtype": "LayoutDialog",
+ "|xns": "Roo",
+ "items": [
+ {
+ "*prop": "center",
+ "alwaysShowTabs": false,
+ "autoScroll": false,
+ "closeOnTab": true,
+ "hideTabs": true,
+ "titlebar": false,
+ "xtype": "LayoutRegion",
+ "|xns": "Roo"
+ },
+ {
+ "autoCreate": "true",
+ "fitToFrame": true,
+ "region": "center",
+ "xtype": "ContentPanel",
+ "|xns": "Roo",
+ "items": [
+ {
+ "listeners": {
+ "actionfailed": "function(f, act) {\n _this.dialog.el.unmask();\n // error msg???\n Pman.standardActionFailed(f,act);\n \n}",
+ "actioncomplete": "function(f, act) {\n _this.dialog.el.unmask();\n //console.log('load completed'); \n // error messages?????\n if(act.type == 'setdata'){\n this.load({ method: 'GET', params: { '_id' : _this.data.id }});\n return;\n }\n \n if (act.type == 'load') {\n _this.data = act.result.data;\n var meth = _this.data.comptype == 'OWNER' ? 'disable' : 'enable';\n \n \n if (_this.form.findField('comptype')) {\n _this.form.findField('comptype')[meth]();\n }\n \n // _this.loaded();\n return;\n }\n \n \n if (act.type == 'submit') { // only submitted here if we are \n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(this, act.result.data);\n }\n return; \n }\n // unmask?? \n}",
+ "rendered": "function (form)\n{\n _this.form = form;\n}"
+ },
+ "fileUpload": true,
+ "labelWidth": 160,
+ "xtype": "Form",
+ "|url": "baseURL + '/Roo/Companies.php'",
+ "|xns": "Roo.form",
+ "items": [
+ {
+ "width": 500,
+ "xtype": "Column",
+ "|xns": "Roo.form",
+ "items": [
+ {
+ "allowBlank": true,
+ "fieldLabel": "Company ID (for filing Ref.)",
+ "name": "code",
+ "qtip": "Enter code",
+ "width": 100,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "listeners": {
+ "render": "function (_self)\n{\n _this.etypeCombo = _self;\n}"
+ },
+ "alwaysQuery": true,
+ "displayField": "display_name",
+ "emptyText": "Select Type",
+ "fieldLabel": "Type",
+ "forceSelection": true,
+ "hiddenName": "comptype",
+ "listWidth": 250,
+ "loadingText": "Searching...",
+ "minChars": 2,
+ "name": "comptype_display",
+ "pageSize": 20,
+ "qtip": "Select type",
+ "queryParam": "query[name]",
+ "selectOnFocus": true,
+ "tpl": "<div class=\"x-grid-cell-text x-btn button\"><b>{name}</b> : {display_name}</div>",
+ "triggerAction": "all",
+ "typeAhead": false,
+ "valueField": "name",
+ "width": 200,
+ "xtype": "ComboBox",
+ "|xns": "Roo.form",
+ "items": [
+ {
+ "listeners": {
+ "|beforeload": "function (_self, o){\n o.params = o.params || {};\n // set more here\n //o.params['query[empty_etype]'] = 1;\n o.params.etype = 'COMPTYPE';\n}\n"
+ },
+ "*prop": "store",
+ "remoteSort": true,
+ "xtype": "Store",
+ "|sortInfo": "{ direction : 'ASC', field: 'id' }",
+ "|xns": "Roo.data",
+ "items": [
+ {
+ "*prop": "proxy",
+ "xtype": "HttpProxy",
+ "method": "GET",
+ "|xns": "Roo.data",
+ "|url": "baseURL + '/Roo/core_enum.php'"
+ },
+ {
+ "*prop": "reader",
+ "id": "id",
+ "root": "data",
+ "totalProperty": "total",
+ "xtype": "JsonReader",
+ "|fields": "[{\"name\":\"id\",\"type\":\"int\"},{\"name\":\"name\",\"type\":\"string\"}]",
+ "|xns": "Roo.data"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Company Name",
+ "name": "name",
+ "qtip": "Enter Company Name",
+ "width": 300,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Phone",
+ "name": "tel",
+ "qtip": "Enter Phone Number",
+ "width": 300,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Fax",
+ "name": "fax",
+ "qtip": "Enter Fax Number",
+ "width": 300,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Email",
+ "name": "email",
+ "qtip": "Enter Email Address",
+ "width": 300,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Address",
+ "name": "address",
+ "qtip": "Enter Address",
+ "width": 300,
+ "xtype": "TextField",
+ "|xns": "Roo.form"
+ },
+ {
+ "allowBlank": true,
+ "fieldLabel": "Remarks",
+ "height": 120,
+ "name": "remarks",
+ "qtip": "Enter remarks",
+ "width": 300,
+ "xtype": "TextArea",
+ "|xns": "Roo.form"
+ }
+ ]
+ },
+ {
+ "labelAlign": "top",
+ "width": 200,
+ "xtype": "Column",
+ "|xns": "Roo.form",
+ "items": [
+ {
+ "fieldLabel": "Background Colour",
+ "name": "background_color",
+ "xtype": "ColorField",
+ "|xns": "Roo.form"
+ },
+ {
+ "fieldLabel": "Logo Image",
+ "height": 170,
+ "icon": "rootURL + 'images/default/dd/drop-add.gif'",
+ "name": "logo_id",
+ "style": "border: 1px solid #ccc;",
+ "width": 170,
+ "xtype": "DisplayField",
+ "|valueRenderer": "function(v) {\n //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO';\n if (!v) {\n return \"No Image Available\" + '<BR/>';\n }\n return String.format('<img src=\"{0}\" width=\"150\">', \n baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg'\n );\n}",
+ "|xns": "Roo.form"
+ },
+ {
+ "listeners": {
+ "click": "function (_self, e)\n{\n var _t = _this.form.findField('logo_id');\n \n Pman.Dialog.Image.show({\n onid :_this.data.id,\n ontable : 'Companies',\n imgtype : 'LOGO'\n }, function(data) {\n if (data) {\n _t.setValue(data.id);\n }\n \n });\n}"
+ },
+ "text": "Add Image",
+ "xtype": "Button",
+ "|xns": "Roo"
+ }
+ ]
+ },
+ {
+ "name": "isOwner",
+ "xtype": "Hidden",
+ "|xns": "Roo.form"
+ },
+ {
+ "name": "id",
+ "xtype": "Hidden",
+ "|xns": "Roo.form"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "listeners": {
+ "click": "function (_self, e)\n{\n _this.dialog.hide();\n}"
+ },
+ "*prop": "buttons[]",
+ "text": "Cancel",
+ "xtype": "Button",
+ "|xns": "Roo"
+ },
+ {
+ "listeners": {
+ "click": "function (_self, e)\n{\n // do some checks?\n \n \n _this.dialog.el.mask(\"Saving\");\n _this.form.doAction(\"submit\");\n\n}"
+ },
+ "*prop": "buttons[]",
+ "text": "Save",
+ "xtype": "Button",
+ "|xns": "Roo"
+ }
+ ]
+ }
+ ],
+ "permname": "",
+ "modOrder": "001"
+}
\ No newline at end of file
--- /dev/null
+//<script type="text/javascript">
+
+// Auto generated file - created by app.Builder.js- do not edit directly (at present!)
+
+Pman.Dialog.CoreCompanies = {
+
+ dialog : false,
+ callback: false,
+
+ show : function(data, cb)
+ {
+ if (!this.dialog) {
+ this.create();
+ }
+
+ this.callback = cb;
+ this.data = data;
+ this.dialog.show(this.data._el);
+ if (this.form) {
+ this.form.reset();
+ this.form.setValues(data);
+ this.form.fireEvent('actioncomplete', this.form, { type: 'setdata', data: data });
+ }
+
+ },
+
+ create : function()
+ {
+ var _this = this;
+ this.dialog = Roo.factory({
+ xtype: 'LayoutDialog',
+ xns: Roo,
+ autoCreate : 'true',
+ closable : false,
+ collapsible : false,
+ draggable : false,
+ height : 400,
+ modal : true,
+ shadow : 'true',
+ title : "Edit Company",
+ width : 750,
+ items : [
+ {
+ xtype: 'ContentPanel',
+ xns: Roo,
+ autoCreate : 'true',
+ fitToFrame : true,
+ region : 'center',
+ items : [
+ {
+ xtype: 'Form',
+ xns: Roo.form,
+ listeners : {
+ actionfailed : function(f, act) {
+ _this.dialog.el.unmask();
+ // error msg???
+ Pman.standardActionFailed(f,act);
+
+ },
+ actioncomplete : function(f, act) {
+ _this.dialog.el.unmask();
+ //console.log('load completed');
+ // error messages?????
+ if(act.type == 'setdata'){
+ this.load({ method: 'GET', params: { '_id' : _this.data.id }});
+ return;
+ }
+
+ if (act.type == 'load') {
+ _this.data = act.result.data;
+ var meth = _this.data.comptype == 'OWNER' ? 'disable' : 'enable';
+
+
+ if (_this.form.findField('comptype')) {
+ _this.form.findField('comptype')[meth]();
+ }
+
+ // _this.loaded();
+ return;
+ }
+
+
+ if (act.type == 'submit') { // only submitted here if we are
+ _this.dialog.hide();
+
+ if (_this.callback) {
+ _this.callback.call(this, act.result.data);
+ }
+ return;
+ }
+ // unmask??
+ },
+ rendered : function (form)
+ {
+ _this.form = form;
+ }
+ },
+ fileUpload : true,
+ labelWidth : 160,
+ url : baseURL + '/Roo/Companies.php',
+ items : [
+ {
+ xtype: 'Column',
+ xns: Roo.form,
+ width : 500,
+ items : [
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Company ID (for filing Ref.)',
+ name : 'code',
+ qtip : "Enter code",
+ width : 100
+ },
+ {
+ xtype: 'ComboBox',
+ xns: Roo.form,
+ listeners : {
+ render : function (_self)
+ {
+ _this.etypeCombo = _self;
+ }
+ },
+ alwaysQuery : true,
+ displayField : 'display_name',
+ emptyText : "Select Type",
+ fieldLabel : 'Type',
+ forceSelection : true,
+ hiddenName : 'comptype',
+ listWidth : 250,
+ loadingText : "Searching...",
+ minChars : 2,
+ name : 'comptype_display',
+ pageSize : 20,
+ qtip : "Select type",
+ queryParam : 'query[name]',
+ selectOnFocus : true,
+ tpl : '<div class="x-grid-cell-text x-btn button"><b>{name}</b> : {display_name}</div>',
+ triggerAction : 'all',
+ typeAhead : false,
+ valueField : 'name',
+ width : 200,
+ store : {
+ xtype: 'Store',
+ xns: Roo.data,
+ listeners : {
+ beforeload : function (_self, o){
+ o.params = o.params || {};
+ // set more here
+ //o.params['query[empty_etype]'] = 1;
+ o.params.etype = 'COMPTYPE';
+ }
+ },
+ remoteSort : true,
+ sortInfo : { direction : 'ASC', field: 'id' },
+ proxy : {
+ xtype: 'HttpProxy',
+ xns: Roo.data,
+ method : 'GET',
+ url : baseURL + '/Roo/core_enum.php'
+ },
+ reader : {
+ xtype: 'JsonReader',
+ xns: Roo.data,
+ id : 'id',
+ root : 'data',
+ totalProperty : 'total',
+ fields : [{"name":"id","type":"int"},{"name":"name","type":"string"}]
+ }
+ }
+ },
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Company Name',
+ name : 'name',
+ qtip : "Enter Company Name",
+ width : 300
+ },
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Phone',
+ name : 'tel',
+ qtip : "Enter Phone Number",
+ width : 300
+ },
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Fax',
+ name : 'fax',
+ qtip : "Enter Fax Number",
+ width : 300
+ },
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Email',
+ name : 'email',
+ qtip : "Enter Email Address",
+ width : 300
+ },
+ {
+ xtype: 'TextField',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Address',
+ name : 'address',
+ qtip : "Enter Address",
+ width : 300
+ },
+ {
+ xtype: 'TextArea',
+ xns: Roo.form,
+ allowBlank : true,
+ fieldLabel : 'Remarks',
+ height : 120,
+ name : 'remarks',
+ qtip : "Enter remarks",
+ width : 300
+ }
+ ]
+ },
+ {
+ xtype: 'Column',
+ xns: Roo.form,
+ labelAlign : 'top',
+ width : 200,
+ items : [
+ {
+ xtype: 'ColorField',
+ xns: Roo.form,
+ fieldLabel : 'Background Colour',
+ name : 'background_color'
+ },
+ {
+ xtype: 'DisplayField',
+ xns: Roo.form,
+ fieldLabel : 'Logo Image',
+ height : 170,
+ icon : 'rootURL + \'images/default/dd/drop-add.gif\'',
+ name : 'logo_id',
+ style : 'border: 1px solid #ccc;',
+ width : 170,
+ valueRenderer : function(v) {
+ //var vp = v ? v : 'Companies:' + _this.data.id + ':-LOGO';
+ if (!v) {
+ return "No Image Available" + '<BR/>';
+ }
+ return String.format('<img src="{0}" width="150">',
+ baseURL + '/Images/Thumb/150x150/' + v + '/logo.jpg'
+ );
+ }
+ },
+ {
+ xtype: 'Button',
+ xns: Roo,
+ listeners : {
+ click : function (_self, e)
+ {
+ var _t = _this.form.findField('logo_id');
+
+ Pman.Dialog.Image.show({
+ onid :_this.data.id,
+ ontable : 'Companies',
+ imgtype : 'LOGO'
+ }, function(data) {
+ if (data) {
+ _t.setValue(data.id);
+ }
+
+ });
+ }
+ },
+ text : "Add Image"
+ }
+ ]
+ },
+ {
+ xtype: 'Hidden',
+ xns: Roo.form,
+ name : 'isOwner'
+ },
+ {
+ xtype: 'Hidden',
+ xns: Roo.form,
+ name : 'id'
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ center : {
+ xtype: 'LayoutRegion',
+ xns: Roo,
+ alwaysShowTabs : false,
+ autoScroll : false,
+ closeOnTab : true,
+ hideTabs : true,
+ titlebar : false
+ },
+ buttons : [
+ {
+ xtype: 'Button',
+ xns: Roo,
+ listeners : {
+ click : function (_self, e)
+ {
+ _this.dialog.hide();
+ }
+ },
+ text : "Cancel"
+ },
+ {
+ xtype: 'Button',
+ xns: Roo,
+ listeners : {
+ click : function (_self, e)
+ {
+ // do some checks?
+
+
+ _this.dialog.el.mask("Saving");
+ _this.form.doAction("submit");
+
+ }
+ },
+ text : "Save"
+ }
+ ]
+ });
+ }
+};
{
- "id": "roo-file-25",
+ "id": "roo-file-27",
"name": "Pman.Dialog.CorePersonContact",
"parent": "",
"title": "",
"|xns": "Roo",
"items": [
{
- "|xns": "Roo.form",
- "xtype": "Form",
"listeners": {
"|actioncomplete": "function(_self,action)\n{\n if (action.type == 'setdata') {\n //_this.dialog.el.mask(\"Loading\");\n //this.load({ method: 'GET', params: { '_id' : _this.data.id }});\n return;\n }\n if (action.type == 'load') {\n _this.dialog.el.unmask();\n return;\n }\n if (action.type =='submit') {\n \n _this.dialog.el.unmask();\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset();\n return;\n }\n}\n",
"|rendered": "function (form)\n{\n _this.form= form;\n}\n"
},
"method": "POST",
"style": "margin:10px;",
+ "xtype": "Form",
"|url": "baseURL + '/Roo/Person.php'",
+ "|xns": "Roo.form",
"items": [
{
"listeners": {
{
- "id": "roo-file-131",
+ "id": "roo-file-28",
"name": "Pman.Dialog.CoreProject",
"parent": "",
"title": "",
- "path": "/home/alan/gitlive/Pman.Core/Pman.Dialog.CoreProject.bjs",
+ "path": "/home/chris/gitlive/Pman.Core/Pman.Dialog.CoreProject.bjs",
"items": [
{
"closable": false,
"|xns": "Roo",
"items": [
{
- "|xns": "Roo.form",
- "xtype": "Form",
"listeners": {
"|actioncomplete": "function(_self,action)\n{\n if (action.type == 'setdata') {\n //_this.dialog.el.mask(\"Loading\");\n //this.load({ method: 'GET', params: { '_id' : _this.data.id }});\n return;\n }\n if (action.type == 'load') {\n _this.dialog.el.unmask();\n return;\n }\n if (action.type =='submit') {\n \n _this.dialog.el.unmask();\n _this.dialog.hide();\n \n if (_this.callback) {\n _this.callback.call(_this, _this.form.getValues());\n }\n _this.form.reset();\n return;\n }\n}\n",
"|rendered": "function (form)\n{\n _this.form= form;\n}\n"
},
"method": "POST",
"style": "margin:10px;",
+ "xtype": "Form",
"|url": "baseURL + '/Roo/Projects.php'",
+ "|xns": "Roo.form",
"items": [
{
"fieldLabel": "Code",
]
}
],
- "permname": ""
+ "permname": "",
+ "modOrder": "001"
}
\ No newline at end of file
{
- "id": "roo-file-29",
+ "id": "roo-file-101",
"name": "Pman.Dialog.Image",
"parent": "",
"title": "",
- "path": "/home/chris/gitlive/Pman.Core/Pman.Dialog.Image.bjs",
+ "path": "/home/alan/gitlive/Pman.Core/Pman.Dialog.Image.bjs",
"items": [
{
"listeners": {
"labelWidth": 140,
"method": "POST",
"style": "margin:10px;",
+ "timeout": 300,
"xtype": "Form",
"|url": "baseURL + '/Roo/Images.php'",
"|xns": "Roo.form",
labelWidth : 140,
method : 'POST',
style : 'margin:10px;',
+ timeout : 300,
url : baseURL + '/Roo/Images.php',
items : [
{
+++ /dev/null
-//<script type="text/javascript">
-// for needed for new person in External contacts...
-
-
-
-// needs adding to init!!!!
-Pman.on('beforeload', function() {
-
- // edit - company readonly /office - selectable..
- // CONTACTS!!!!!
- Pman.Dialog.PersonEdit = new Pman.Dialog.PersonEditor({
- type : 'edit',
- dialogConfig : {
- title: "Edit Contact Details",
- height: 350 // slightly taller..
-
- },
- itemList : [
- 'company_id_name',
- 'office_id_name',
- 'name','role', 'phone', 'fax', 'email',
-
- 'passwd1', 'passwd2',
- 'id',
- //'company_id',
- 'company_id_email',
- 'company_id_address','company_id_tel','company_id_fax'
- ]
- });
-});
\ No newline at end of file
var c = ar[i];
i++;
- Pman.request({
+ new Pman.Request({
url : baseURL+'/Core/SendIntro.html',
method : 'POST',
params: c,
- var submit = false;
+ this.submit = false;
this.createCsvFrame();
var requested = 0;
if (this.method == 'GET' && !this.params) {
(function() {
- submit = true;
+ this.submit = true;
this.csvFrame.src = cfg.url;
- this.cleanup.defer(cfg.timeout || 30000,this);
+ //this.cleanup.defer(cfg.timeout || 30000,this);
}).defer(100, this);
}
(function() {
- submit = true;
+ this.submit = true;
this.form.dom.submit();
this.cleanup.defer(this.timeout || 30000,this);
}).defer(100, this);
// if (requested < 2) {
// return;
//} // n
+ Roo.log('onload?');
if (!this.submit) {
- return;
+ return false;
}
-
+ return false;
var frame = this.csvFrame;
var success = true;
Roo.log(e.toString());
Roo.log(e);
}
-
+ // we can not actually do anything with the frame... as it may actually still be downloading..
+ return true;
+
this.cleanup();
// this will never fire.. see
this.success();
}
-
+ return false;
},
// private - clean up download elements.
cleanup :function()
{
+ Roo.log('cleanup?');
if (this.form) {
this.form.remove();
this.form= false;
sels.push(data.selections[i].data.id);
}
- Pman.request({
+ new Pman.Request({
url: baseURL + '/Core/GroupMembers.php',
params: {
action : action,
onLoadTrackCall : function(id,cb, cls) {
Roo.get(document.body).mask("Loading Document details");
- Pman.request({
+ new Pman.Request({
url: baseURL + '/Roo/Documents.html',
params: {
_id: id
},
method: 'GET',
- success : function(data) {
+ success : function(res) {
+ var data = res.data;
Roo.get(document.body).unmask();
tab.grid.getView().mainWrap.mask("Deleting");
new Pman.Request({
url: baseURL + '/Roo/'+tbl+'.php',
- method: 'GET',
+ method: 'POST',
params: {
_delete : r.join(',')
},
return true;
}
function get()
- {
-
-
+ {
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
- //print_r('in');
if ( !function_exists('uploadprogress_get_info')) {
$this->jok(false);
}
- //print_r('in2');
if (!empty($_GET['id'])) {
// var_dump(uploadprogress_get_info($_GET['id']));
$this->jok(uploadprogress_get_info($_GET['id']));
font-weight: bold;
}
-
+.align-right {
+ text-align: right;
+}
{if:bootLoader.Pman[roo_debug]}
- <script type="text/javascript" src="{rootURL}/roojs1/roojs-debug.js"></script>
- <script type="text/javascript" src="{rootURL}/roojs1/ux/Iscroll.js"></script>
+ <script type="text/javascript" src="{rootURL}/roojs1/roojs-debug.js?ts={version}"></script>
+ <!-- <script type="text/javascript" src="{rootURL}/roojs1/ux/Iscroll.js"></script> -->
{else:}
- <script type="text/javascript" src="{rootURL}/roojs1/roojs-all.js"></script>
+ <script type="text/javascript" src="{rootURL}/roojs1/roojs-all.js?ts={version}"></script>
{end:}
<flexy:toJSON
};
Roo.extend(Roo.form.ColorField, Roo.form.TriggerField , {
+
defaultAutoCreate : {tag: 'input', type: 'text', size: '6', autocomplete: 'off'},
+
+ triggerClass : 'x-form-arrow-trigger',
validateValue : function(value){
this.setBgColor(value);
return true;
},
setBgColor : function(d) {
- var d = (typeof(d) != 'undefined') && d.length ? d : 'FFFFFF';
+ d = (typeof(d) != 'undefined') && d.length ? d : 'FFFFFF';
this.el.dom.style.background ='#' + d;
}
});
\ No newline at end of file
};
// This is in Roo???
+/*
Ext.form.Hidden = function(config){
Ext.form.Hidden.superclass.constructor.call(this, config);
};
});
+
+
+ Why is this here.. it does not work very well...
Ext.form.DateField.prototype.getValue = function(fmt) {
var r = this.parseDate(Ext.form.DateField.superclass.getValue.call(this)) || '';
if (typeof(fmt) == 'undefined') {
}
return r.format(fmt);
};
-
+*/
//<script type="text/Javascript">
/**