New: Support location in events

This commit is contained in:
Laurent Destailleur 2008-09-09 17:57:12 +00:00
parent 4c6686c799
commit 4d92aa5027
7 changed files with 81 additions and 32 deletions

View File

@ -96,8 +96,9 @@ class ActionComm
// Clean parameters // Clean parameters
$this->label=trim($this->label); $this->label=trim($this->label);
$this->note=trim($this->note); $this->location=trim($this->location);
if (! $this->percentage) $this->percentage = 0; $this->note=trim($this->note);
if (! $this->percentage) $this->percentage = 0;
if (! $this->priority) $this->priority = 0; if (! $this->priority) $this->priority = 0;
if (! $this->punctual) $this->punctual = 0; if (! $this->punctual) $this->punctual = 0;
if ($this->percentage > 100) $this->percentage = 100; if ($this->percentage > 100) $this->percentage = 100;
@ -147,7 +148,7 @@ class ActionComm
$sql.= "fk_user_author,"; $sql.= "fk_user_author,";
$sql.= "fk_user_action,"; $sql.= "fk_user_action,";
$sql.= "fk_user_done,"; $sql.= "fk_user_done,";
$sql.= "label,percent,priority,punctual,"; $sql.= "label,percent,priority,location,punctual,";
$sql.= "fk_facture,propalrowid,fk_commande)"; $sql.= "fk_facture,propalrowid,fk_commande)";
$sql.= " VALUES ("; $sql.= " VALUES (";
$sql.= "'".$this->db->idate($now)."',"; $sql.= "'".$this->db->idate($now)."',";
@ -162,7 +163,7 @@ class ActionComm
$sql.= ($user->id > 0 ? "'".$user->id."'":"null").","; $sql.= ($user->id > 0 ? "'".$user->id."'":"null").",";
$sql.= ($this->usertodo->id > 0?"'".$this->usertodo->id."'":"null").","; $sql.= ($this->usertodo->id > 0?"'".$this->usertodo->id."'":"null").",";
$sql.= ($this->userdone->id > 0?"'".$this->userdone->id."'":"null").","; $sql.= ($this->userdone->id > 0?"'".$this->userdone->id."'":"null").",";
$sql.= "'".addslashes($this->label)."','".$this->percentage."','".$this->priority."','".$this->punctual."',"; $sql.= "'".addslashes($this->label)."','".$this->percentage."','".$this->priority."','".addslashes($this->location)."','".$this->punctual."',";
$sql.= ($this->facid?$this->facid:"null").","; $sql.= ($this->facid?$this->facid:"null").",";
$sql.= ($this->propalrowid?$this->propalrowid:"null").","; $sql.= ($this->propalrowid?$this->propalrowid:"null").",";
$sql.= ($this->orderrowid?$this->orderrowid:"null"); $sql.= ($this->orderrowid?$this->orderrowid:"null");
@ -215,7 +216,7 @@ class ActionComm
$sql.= " a.fk_user_author, a.fk_user_mod,"; $sql.= " a.fk_user_author, a.fk_user_mod,";
$sql.= " a.fk_user_action, a.fk_user_done,"; $sql.= " a.fk_user_action, a.fk_user_done,";
$sql.= " a.fk_contact, a.percent as percentage, a.fk_facture, a.fk_commande, a.propalrowid,"; $sql.= " a.fk_contact, a.percent as percentage, a.fk_facture, a.fk_commande, a.propalrowid,";
$sql.= " a.priority,"; $sql.= " a.priority, a.location,";
$sql.= " c.id as type_id, c.code as type_code, c.libelle"; $sql.= " c.id as type_id, c.code as type_code, c.libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c";
$sql.= " WHERE a.id=".$id." AND a.fk_action=c.id"; $sql.= " WHERE a.id=".$id." AND a.fk_action=c.id";
@ -252,6 +253,7 @@ class ActionComm
$this->usertodo->id = $obj->fk_user_action; $this->usertodo->id = $obj->fk_user_action;
$this->userdone->id = $obj->fk_user_done; $this->userdone->id = $obj->fk_user_done;
$this->priority = $obj->priority; $this->priority = $obj->priority;
$this->location = $obj->location;
$this->societe->id = $obj->fk_soc; $this->societe->id = $obj->fk_soc;
$this->contact->id = $obj->fk_contact; $this->contact->id = $obj->fk_contact;
@ -297,6 +299,7 @@ class ActionComm
$sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."actioncomm";
$sql.= " WHERE id=".$this->id; $sql.= " WHERE id=".$this->id;
dolibarr_syslog("ActionComm::delete sql=".$sql, LOG_DEBUG);
if ($this->db->query($sql)) if ($this->db->query($sql))
{ {
return 1; return 1;
@ -346,6 +349,7 @@ class ActionComm
$sql.= ", fk_soc =". ($this->societe->id > 0 ? "'".$this->societe->id."'":"null"); $sql.= ", fk_soc =". ($this->societe->id > 0 ? "'".$this->societe->id."'":"null");
$sql.= ", fk_contact =". ($this->contact->id > 0 ? "'".$this->contact->id."'":"null"); $sql.= ", fk_contact =". ($this->contact->id > 0 ? "'".$this->contact->id."'":"null");
$sql.= ", priority = '".$this->priority."'"; $sql.= ", priority = '".$this->priority."'";
$sql.= ", location = ".($this->location ? "'".addslashes($this->location)."'":"null");
$sql.= ", fk_user_mod = '".$user->id."'"; $sql.= ", fk_user_mod = '".$user->id."'";
$sql.= ", fk_user_action=".($this->usertodo->id > 0 ? "'".$this->usertodo->id."'":"null"); $sql.= ", fk_user_action=".($this->usertodo->id > 0 ? "'".$this->usertodo->id."'":"null");
$sql.= ", fk_user_done=".($this->userdone->id > 0 ? "'".$this->userdone->id."'":"null"); $sql.= ", fk_user_done=".($this->userdone->id > 0 ? "'".$this->userdone->id."'":"null");
@ -595,7 +599,7 @@ class ActionComm
$sql.= " a.fk_user_author, a.fk_user_mod,"; $sql.= " a.fk_user_author, a.fk_user_mod,";
$sql.= " a.fk_user_action, a.fk_user_done,"; $sql.= " a.fk_user_action, a.fk_user_done,";
$sql.= " a.fk_contact, a.fk_facture, a.percent as percentage, a.fk_commande,"; $sql.= " a.fk_contact, a.fk_facture, a.percent as percentage, a.fk_commande,";
$sql.= " a.priority,"; $sql.= " a.priority,a.location,";
$sql.= " c.id as type_id, c.code as type_code, c.libelle"; $sql.= " c.id as type_id, c.code as type_code, c.libelle";
$sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a, ".MAIN_DB_PREFIX."c_actioncomm as c";
$sql.= " WHERE a.fk_action=c.id"; $sql.= " WHERE a.fk_action=c.id";
@ -657,20 +661,22 @@ class ActionComm
$datestart=$obj->datep; $datestart=$obj->datep;
$dateend=$obj->datep2; $dateend=$obj->datep2;
$duration=$obj->durationp; $duration=$obj->durationp;
$event['summary']=$obj->label;
$event['desc']=$obj->note;
$event['startdate']=$datestart; $event['startdate']=$datestart;
$event['duration']=$duration; // Not required with type 'journal' $event['duration']=$duration; // Not required with type 'journal'
$event['enddate']=$dateend; // Not required with type 'journal' $event['enddate']=$dateend; // Not required with type 'journal'
$event['summary']=$obj->label;
$event['desc']=$obj->note;
$event['category']=$obj->libelle;
$event['author']=$obj->fk_user_author; $event['author']=$obj->fk_user_author;
$event['priority']=$obj->priority;
$event['location']=$obj->location;
$event['transparency']='TRANSPARENT'; // TRANSPARENT or OPAQUE $event['transparency']='TRANSPARENT'; // TRANSPARENT or OPAQUE
$event['category']=$obj->libelle; // libelle type action
$url=$dolibarr_main_url_root; $url=$dolibarr_main_url_root;
if (! eregi('\/$',$url)) $url.='/'; if (! eregi('\/$',$url)) $url.='/';
$url.='comm/action/fiche.php?id='.$obj->id; $url.='comm/action/fiche.php?id='.$obj->id;
$event['url']=$url; $event['url']=$url;
if ($qualified) if ($qualified && $datestart)
{ {
$eventarray[$datestart]=$event; $eventarray[$datestart]=$event;
} }

View File

@ -97,13 +97,13 @@ if ($_POST["action"] == 'add_action')
$_POST["p2month"], $_POST["p2month"],
$_POST["p2day"], $_POST["p2day"],
$_POST["p2year"]); $_POST["p2year"]);
$datea=dolibarr_mktime($_POST["adhour"], $datea=dolibarr_mktime($_POST["adhour"], // deprecated
$_POST["admin"], $_POST["admin"],
0, 0,
$_POST["admonth"], $_POST["admonth"],
$_POST["adday"], $_POST["adday"],
$_POST["adyear"]); $_POST["adyear"]);
$datea2=dolibarr_mktime($_POST["a2hour"], $datea2=dolibarr_mktime($_POST["a2hour"], // deprecated
$_POST["a2min"], $_POST["a2min"],
0, 0,
$_POST["a2month"], $_POST["a2month"],
@ -126,6 +126,7 @@ if ($_POST["action"] == 'add_action')
$actioncomm->type_id = $cactioncomm->id; $actioncomm->type_id = $cactioncomm->id;
$actioncomm->type_code = $cactioncomm->code; $actioncomm->type_code = $cactioncomm->code;
$actioncomm->priority = isset($_POST["priority"])?$_POST["priority"]:0; $actioncomm->priority = isset($_POST["priority"])?$_POST["priority"]:0;
$actioncomm->location = isset($_POST["location"])?$_POST["location"]:'';
$actioncomm->label = trim($_POST["label"]); $actioncomm->label = trim($_POST["label"]);
if (! $_POST["label"]) if (! $_POST["label"])
{ {
@ -191,7 +192,13 @@ if ($_POST["action"] == 'add_action')
if ($_POST["add_webcal"] == 'on' && $conf->webcal->enabled) $actioncomm->use_webcal=1; if ($_POST["add_webcal"] == 'on' && $conf->webcal->enabled) $actioncomm->use_webcal=1;
if ($_POST["add_phenix"] == 'on' && $conf->phenix->enabled) $actioncomm->use_phenix=1; if ($_POST["add_phenix"] == 'on' && $conf->phenix->enabled) $actioncomm->use_phenix=1;
// Check parameters
if ($actioncomm->type_code == 'AC_RDV' && ($datep == '' || $datep2 == ''))
{
$error=1;
$_GET["action"] = 'create';
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentities("DateEnd")).'</div>';
}
if ($datea && $_POST["percentage"] == 0) if ($datea && $_POST["percentage"] == 0)
{ {
$error=1; $error=1;
@ -325,7 +332,8 @@ if ($_POST["action"] == 'update')
$actioncomm->dateend = $datea2; $actioncomm->dateend = $datea2;
$actioncomm->percentage = $_POST["percentage"]; $actioncomm->percentage = $_POST["percentage"];
$actioncomm->priority = $_POST["priority"]; $actioncomm->priority = $_POST["priority"];
$actioncomm->societe->id = $_POST["socid"]; $actioncomm->location = isset($_POST["location"])?$_POST["location"]:'';
$actioncomm->societe->id = $_POST["socid"];
$actioncomm->contact->id = $_POST["contactid"]; $actioncomm->contact->id = $_POST["contactid"];
$actioncomm->note = $_POST["note"]; $actioncomm->note = $_POST["note"];
@ -418,7 +426,7 @@ if ($_GET["action"] == 'create')
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Type d'action actifs // Type d'action actifs
print '<tr><td><b>'.$langs->trans("Type").'*</b></td><td>'; print '<tr><td width="30%"><b>'.$langs->trans("Type").'*</b></td><td>';
if ($_GET["actioncode"]) if ($_GET["actioncode"])
{ {
print '<input type="hidden" name="actioncode" value="'.$_GET["actioncode"].'">'."\n"; print '<input type="hidden" name="actioncode" value="'.$_GET["actioncode"].'">'."\n";
@ -431,10 +439,18 @@ if ($_GET["action"] == 'create')
} }
print '</td></tr>'; print '</td></tr>';
// Title
print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="30" value="'.$actioncomm->label.'"></td></tr>'; print '<tr><td>'.$langs->trans("Title").'</td><td><input type="text" name="label" size="30" value="'.$actioncomm->label.'"></td></tr>';
// Location
print '<tr><td>'.$langs->trans("Location").'</td><td><input type="text" name="location" size="30" value="'.$actioncomm->location.'"></td></tr>';
print '</table>';
print '<br>';
print '<table class="border" width="100%">';
// Societe, contact // Societe, contact
print '<tr><td nowrap>'.$langs->trans("ActionOnCompany").'</td><td>'; print '<tr><td width="30%" nowrap="nowrap">'.$langs->trans("ActionOnCompany").'</td><td>';
if ($_REQUEST["socid"] > 0) if ($_REQUEST["socid"] > 0)
{ {
$societe = new Societe($db); $societe = new Societe($db);
@ -466,13 +482,17 @@ if ($_GET["action"] == 'create')
$html->select_users($_REQUEST["doneby"]?$_REQUEST["doneby"]:$actioncomm->userdone,'doneby',1); $html->select_users($_REQUEST["doneby"]?$_REQUEST["doneby"]:$actioncomm->userdone,'doneby',1);
print '</td></tr>'; print '</td></tr>';
print '</table>';
print '<br>';
print '<table class="border" width="100%">';
if (! empty($_GET["datep"]) && eregi('^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$',$_GET["datep"],$reg)) if (! empty($_GET["datep"]) && eregi('^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$',$_GET["datep"],$reg))
{ {
$actioncomm->datep=dolibarr_mktime(0,0,0,$reg[2],$reg[3],$reg[1]); $actioncomm->datep=dolibarr_mktime(0,0,0,$reg[2],$reg[3],$reg[1]);
} }
// Date start // Date start
print '<tr><td nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td>'; print '<tr><td width="30%" nowrap="nowrap">'.$langs->trans("DateActionStart").'</td><td>';
if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action"); if ($_REQUEST["afaire"] == 1) $html->select_date($actioncomm->datep,'ap',1,1,0,"action");
else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action"); else if ($_REQUEST["afaire"] == 2) $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
else $html->select_date($actioncomm->datep,'ap',1,1,1,"action"); else $html->select_date($actioncomm->datep,'ap',1,1,1,"action");
@ -618,9 +638,20 @@ if ($_GET["id"])
if (! empty($_REQUEST["backtopage"])) print '<input type="hidden" name="from" value="'.($_REQUEST["from"] ? $_REQUEST["from"] : $_SERVER["HTTP_REFERER"]).'">'; if (! empty($_REQUEST["backtopage"])) print '<input type="hidden" name="from" value="'.($_REQUEST["from"] ? $_REQUEST["from"] : $_SERVER["HTTP_REFERER"]).'">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
// Ref
print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$act->id.'</td></tr>'; print '<tr><td width="30%">'.$langs->trans("Ref").'</td><td colspan="3">'.$act->id.'</td></tr>';
// Type
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>'; print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
// Title
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3"><input type="text" name="label" size="50" value="'.$act->label.'"></td></tr>'; print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3"><input type="text" name="label" size="50" value="'.$act->label.'"></td></tr>';
// Location
print '<tr><td>'.$langs->trans("Location").'</td><td colspan="3"><input type="text" name="location" size="50" value="'.$act->location.'"></td></tr>';
// Company
print '<tr><td>'.$langs->trans("Company").'</td>'; print '<tr><td>'.$langs->trans("Company").'</td>';
print '<td>'; print '<td>';
print $html->select_societes($act->societe->id,'socid',1,1); print $html->select_societes($act->societe->id,'socid',1,1);
@ -712,10 +743,13 @@ if ($_GET["id"])
// Type // Type
print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>'; print '<tr><td>'.$langs->trans("Type").'</td><td colspan="3">'.$act->type.'</td></tr>';
// Libelle // Title
print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$act->label.'</td></tr>'; print '<tr><td>'.$langs->trans("Title").'</td><td colspan="3">'.$act->label.'</td></tr>';
// Societe - contact // Location
print '<tr><td>'.$langs->trans("Location").'</td><td colspan="3">'.$act->location.'</td></tr>';
// Societe - contact
print '<tr><td>'.$langs->trans("Company").'</td><td>'.($act->societe->id?$act->societe->getNomUrl(1):$langs->trans("None")).'</td>'; print '<tr><td>'.$langs->trans("Company").'</td><td>'.($act->societe->id?$act->societe->getNomUrl(1):$langs->trans("None")).'</td>';
print '<td>'.$langs->trans("Contact").'</td>'; print '<td>'.$langs->trans("Contact").'</td>';
print '<td>'; print '<td>';

View File

@ -8,6 +8,7 @@ Calendars = Calendars
AffectedTo = Affected to AffectedTo = Affected to
DoneBy = Done by DoneBy = Done by
Events = Events Events = Events
Location=Location
SearchAnAction = Search an action/task SearchAnAction = Search an action/task
MenuToDoActions = All uncomplete actions MenuToDoActions = All uncomplete actions
MenuDoneActions = All terminated actions MenuDoneActions = All terminated actions

View File

@ -8,6 +8,7 @@ Calendars=Calendriers
AffectedTo=Affecté à AffectedTo=Affecté à
DoneBy=Réalisé par DoneBy=Réalisé par
Events=Evênements Events=Evênements
Location=Lieu
SearchAnAction=Rechercher une action/tache SearchAnAction=Rechercher une action/tache
MenuToDoActions=Les actions incomplètes MenuToDoActions=Les actions incomplètes
MenuDoneActions=Les actions terminées MenuDoneActions=Les actions terminées

View File

@ -67,7 +67,7 @@ function build_calfile($format='vcal',$title,$desc,$events_array,$outputfile,$fi
if ($eventqualified) if ($eventqualified)
{ {
// See http://fr.wikipedia.org/wiki/ICalendar for format // See http://fr.wikipedia.org/wiki/ICalendar for format
//$uid = dolibarr_print_date($now,'dayhourxcard',true).'-'.$event['uid']."-export@".$_SERVER["SERVER_NAME"]; // See http://www.ietf.org/rfc/rfc2445.txt for RFC
$uid = $event['uid']; $uid = $event['uid'];
$type = $event['type']; $type = $event['type'];
$startdate = $event['startdate']; $startdate = $event['startdate'];
@ -78,7 +78,7 @@ function build_calfile($format='vcal',$title,$desc,$events_array,$outputfile,$fi
$location = $event['location']; $location = $event['location'];
$email = $event['email']; $email = $event['email'];
$url = $event['url']; $url = $event['url'];
$transparency = $event['transparency']; $transparency = $event['transparency']; // OPAQUE or TRANSPARENT
$description=eregi_replace('<br[ \/]?>',"\n",$event['desc']); $description=eregi_replace('<br[ \/]?>',"\n",$event['desc']);
$description=clean_html($description,0); // Remove html tags $description=clean_html($description,0); // Remove html tags
@ -134,9 +134,7 @@ function build_calfile($format='vcal',$title,$desc,$events_array,$outputfile,$fi
/ "CANCELLED" ;Indicates journal is removed. / "CANCELLED" ;Indicates journal is removed.
;Status values for "VJOURNAL". ;Status values for "VJOURNAL".
*/ */
if (! empty($category)) fwrite($calfileh,"CATEGORIES:".$encoding.$category."\n");
if (! empty($location)) fwrite($calfileh,"LOCATION:".$encoding.$location."\n"); if (! empty($location)) fwrite($calfileh,"LOCATION:".$encoding.$location."\n");
//fwrite($calfileh,"TRANSP:".$transparency."\n");
//fwrite($calfileh,"CLASS:PUBLIC\n"); // PUBLIC, PRIVATE, CONFIDENTIAL //fwrite($calfileh,"CLASS:PUBLIC\n"); // PUBLIC, PRIVATE, CONFIDENTIAL
// Date must be GMT dates // Date must be GMT dates
@ -146,6 +144,9 @@ function build_calfile($format='vcal',$title,$desc,$events_array,$outputfile,$fi
if (empty($enddate)) $enddate=$startdate+$duration; if (empty($enddate)) $enddate=$startdate+$duration;
$enddatef = dolibarr_print_date($enddate,'dayhourxcard',true); $enddatef = dolibarr_print_date($enddate,'dayhourxcard',true);
fwrite($calfileh,"DTEND:".$enddatef."\n"); fwrite($calfileh,"DTEND:".$enddatef."\n");
if (! empty($transparency)) fwrite($calfileh,"TRANSP:".$transparency."\n");
if (! empty($category)) fwrite($calfileh,"CATEGORIES:".$encoding.$category."\n");
fwrite($calfileh,"END:VEVENT\n"); fwrite($calfileh,"END:VEVENT\n");
} }

View File

@ -1,8 +1,9 @@
-- --
-- $Id$ -- $Id$
-- --
-- Attention à l ordre des requetes. -- Be carefull to requests order.
-- Ce fichier doit être chargé sur une version 2.4.0 -- This file must be loaded by calling /install/index.php page
-- when current version is 2.4.0 or higher.
-- --
alter table llx_product add column price_min double(24,8) DEFAULT 0; alter table llx_product add column price_min double(24,8) DEFAULT 0;
@ -16,3 +17,7 @@ alter table llx_societe add column gencod varchar(255);
delete from llx_user_param where page <> ''; delete from llx_user_param where page <> '';
alter table llx_expedition add tracking_number varchar(50) after fk_expedition_methode; alter table llx_expedition add tracking_number varchar(50) after fk_expedition_methode;
alter table llx_actioncomm add column location varchar(128) after percent;

View File

@ -25,9 +25,9 @@ create table llx_actioncomm
( (
id integer AUTO_INCREMENT PRIMARY KEY, id integer AUTO_INCREMENT PRIMARY KEY,
datep datetime, -- date debut planifiee datep datetime, -- date debut planifiee
datep2 datetime, -- date fin planifiee si action non ponctuelle datep2 datetime, -- deprecated
datea datetime, -- date debut realisation datea datetime, -- date debut realisation
datea2 datetime, -- date fin realisation si action non ponctuelle datea2 datetime, -- deprecated
fk_action integer, -- type de l'action fk_action integer, -- type de l'action
label varchar(50) NOT NULL, -- libelle de l'action label varchar(50) NOT NULL, -- libelle de l'action
@ -47,8 +47,9 @@ create table llx_actioncomm
priority smallint, priority smallint,
punctual smallint NOT NULL default 1, punctual smallint NOT NULL default 1,
percent smallint NOT NULL default 0, percent smallint NOT NULL default 0,
location varchar(128),
durationp real, -- duree planifiee durationp real, -- duree planifiee
durationa real, -- duree reellement passee durationa real, -- deprecated
note text, note text,
propalrowid integer, propalrowid integer,