cybertools/organize
2015-08-29 11:05:12 +02:00
..
browser bug fix: handle id of non-existing client correctly 2010-02-27 10:54:48 +00:00
locales merge branch master 2015-06-12 08:34:10 +02:00
__init__.py created 'cybertools.organize' package, removed 'cybertools.contact', moved imports (in testing code only) of the latter package to the former one. 2006-05-10 16:10:51 +00:00
configure.zcml work in progress: task management: creation of work items OK 2008-12-29 12:27:46 +00:00
formmanager.txt move doctests from cyberapps.tum to cybertools.organize 2011-01-15 16:13:48 +00:00
interfaces.py merge branch master 2015-06-12 08:34:10 +02:00
party.py allow hiding of controller macros, e.g. portlets 2008-10-17 09:38:41 +00:00
README.txt move doctests from cyberapps.tum to cybertools.organize 2011-01-15 16:13:48 +00:00
service.py start work on complex services/events (e.g. conferences) 2011-01-16 14:46:43 +00:00
servicemanager.txt start work on complex services/events (e.g. conferences) 2011-01-16 14:46:43 +00:00
task.py extend composer.schema for better support of customized schema factories 2008-02-12 11:40:12 +00:00
tests.py provide special dropdown field instance in order to correctly display vocabulary values; make field instance lookabe more tolerant: use default field instance if named adapter not found 2011-07-24 16:58:15 +02:00
work.py add some (still commented-out) code as marker for future extension, e.g. for allowing delegation of running work items 2015-07-16 15:55:07 +02:00
work.txt when starting a work item stop others that are running; start default date/time is 'now' for start of work 2015-03-03 18:16:36 +01:00

==================================================
Organizations: Persons, Institutions, Addresses...
==================================================

  ($Id$)

  >>> from zope import component


Persons and Addresses
=====================

Let's start with a Person:

  >>> from cybertools.organize.party import Person
  >>> john = Person(u'Smith')
  >>> john.lastName
  u'Smith'
  >>> john.firstName
  u''
  >>> john.birthDate is None
  True
  >>> john.addresses
  {}

A Person object knows the age of the person:

  >>> john.age is None
  True
  >>> from datetime import date
  >>> john.birthDate = date(1980, 3, 25)
  >>> now = date(2006, 5, 12)
  >>> john.ageAt(now)
  26
  >>> john.age >= 26
  True

  >>> john.firstName = u'John'
  >>> john.firstName
  u'John'

Addresses
---------

Let's create an address and assign it to a person:

  >>> from cybertools.organize.party import Address
  >>> addr = Address(u'New York', u'Broadway 1')
  >>> john.addresses['standard'] = addr
  >>> john.addresses['standard'].street
  u'Broadway 1'


Tasks
=====

  >>> from cybertools.organize.task import Task


Service and Form Management
===========================

See servicemanager.txt and formmanager.txt.