Objekt "Person" machen - Zweiter Schritt: Miss Monorom f?r die Form

"Roger Fischer" <[email protected]>
Newsgroups gmane.comp.cms.bitflux.general.german
Message-ID <[email protected]>
Vorbereitung für Bitflux Kurstag I
==================================
November 21, 2002

1. Schritt: Datenbank
---------------------

NOTE:

habe "honorific" gewechselt, (kein enum mehr):

NEU: honorific varchar(20) NOT NULL default 'Mr.',

Ganze Tabelle "Person":

CREATE TABLE Person (
  ID int(11) NOT NULL auto_increment,
  honorific varchar(20) NOT NULL default 'Mr.',
  firstname varchar(50) NOT NULL default '',
  surname varchar(50) NOT NULL default '',
  othername varchar(50) default NULL,
  affiliation_jobtitle varchar(50) default NULL,
  affiliation_orgname varchar(50) default NULL,
  affiliation_orgdiv varchar(50) default NULL,
  affiliation_address_street varchar(50) default NULL,
  affiliation_address_pob varchar(20) default NULL,
  affiliation_address_postcode int(5) default NULL,
  affiliation_address_city varchar(40) default NULL,
  affiliation_address_country varchar(40) NOT NULL default 'Schweiz',
  affiliation_address_phone varchar(20) default NULL,
  affiliation_address_fax varchar(20) default NULL,
  affiliation_address_email varchar(50) default NULL,
  affiliation_www varchar(100) default NULL,
  address_street varchar(50) NOT NULL default '',
  address_pob varchar(20) default NULL,
  address_postcode int(5) NOT NULL default '0',
  address_city varchar(40) NOT NULL default '',
  address_country varchar(40) NOT NULL default 'Schweiz',
  address_phone varchar(20) NOT NULL default '',
  address_mobile varchar(20) default NULL,
  address_mobile2 varchar(25) default NULL,
  address_fax varchar(20) default NULL,
  address_email varchar(50) default NULL,
  www varchar(100) default NULL,
  project varchar(100) NOT NULL default '',
  project_jobtitle varchar(100) NOT NULL default '',
  remark text,
  created datetime NOT NULL default '0000-00-00 00:00:00',
  createdby varchar(50) NOT NULL default 'someone',
  changed timestamp(14) NOT NULL,
  changedby varchar(50) NOT NULL default 'someone',
  PRIMARY KEY  (ID),
  UNIQUE KEY ID (ID)
) TYPE=MyISAM;


2. Schritt: Form machen
-----------------------

Vorbild: Objekt Chapter
siehe: Chapter Object: 1.4.1.2: Form
http://lists.bitflux.ch/pipermail/bitflux-cms-de/2002-November/000135.html

Vorerst nur die Felder (kann man später erweitern, wenn nötig:), die wir
ausgeben sowie
affiliation_orgname und honorific.

Also:
$affiliation_orgname
$honorific
$firstname
$surname
$project_jobtitle
$affiliation_address_email
$address_email
$remark

Felder in der Form kommen in chronologischer Reihenfolge.


Beginn:
- - - -

<?xml version="1.0" ?>
     <bxco:config xmlns:bxco="http://bitflux.org/config/1.0">
        <bxco:fields table="Person">
                  <bxco:field name="honorific" type="text"  descr="Mr/Ms"/>
	            <bxco:field name="firstname" type="text"  descr="First Name"/>
			<bxco:field name="surname" type="text"  descr="Surname"/>
		      <bxco:field name="affiliation_orgname" type="text"
descr="Organisation">
			 NBWZ
			</bxco:field>
                 <!-- weitere Felder noch zu ergänzen durch Miss Monorom -->

			<bxco:field name="remark" type="textarea"  descr="Remark"/>

			<bxco:field name="Document2Object" type="n2m" alternativeDescr="Document"
descr="Parent::Document" defaultXpath="default/parentid">
                 <bxco:n2m thisfield="foreignobjectid"
thatfield="foreigndocumentid" objectfield="objectname"
objectfieldvalue="Person"/>
                 <bxco:foreign>
                     <bxco:table name="Document"
                         field="title "
                	     orderby="title"
                     />
                 </bxco:foreign>
             </bxco:field>

<bxco:field name="created" alternativeDescr="CREATED" descr="Created"
type="fixed" subtype="datetime">
  <bxco:onnew default="sql:now()" />
 </bxco:field>

 <bxco:field name="createdby" alternativeDescr="CREATEDBY" descr="Created
by" type="fixed" >
  <bxco:onnew defaultXpath="auth/username" />
 </bxco:field>

 <bxco:field name="changed" alternativeDescr="CHANGED" descr="Changed"
type="fixed" subtype="datetime">
  <bxco:onnew default="sql:now()" />
  <bxco:onchange default="sql:now()" />
 </bxco:field>

 <bxco:field name="changedby" alternativeDescr="CHANGEDBY" descr="Changed
by" type="fixed">
  <bxco:onnew defaultXpath="auth/username" />
  <bxco:onchange defaultXpath="auth/username" />
 </bxco:field>
</bxco:fields>
 <bxco:chooser field="concat(surname,' ',firstname)" orderby="surname,
firstname" descr="Choose Person"/>
    <bxco:create>
                 <bxco:table name="Document2Object" hide="yes">
                  <bxco:field name="foreigndocumentid"
value="this:Document2Object:Value" notempty="1"/>
			 	  <bxco:field name="objectname" value="Person"/>
                  <bxco:field name="foreignobjectid" value="this:ID"
notempty="1"/>
            </bxco:table>
        </bxco:create>

</bxco:config>



--
roger fischer | bitflux GmbH | schöneggstrasse 5 | ch-8004 zürich
tel +41 1 240 56 72 | mobil +41 78 607 75 06 | fax +41 1 240 56 71
http://www.bitflux.ch | [email protected]

OSCOM - Open Source Content Management
http://www.oscom.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.