X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fcontact.php;h=d83e10116302281e4c960acaf29d39389a0533b8;hb=refs%2Ftags%2Fuat-2013-04-30;hp=3dd0fc3f5b1501151fcac5b73459e4f0b6c7c70f;hpb=a034b9e4d45513c3bd147e45fd969c14162fb13d;p=readifood.git
diff --git a/lib/contact.php b/lib/contact.php
index 3dd0fc3..d83e101 100644
--- a/lib/contact.php
+++ b/lib/contact.php
@@ -52,7 +52,10 @@
if ($role_string) echo " $role_string";
if ($role & $GLOBALS['ROLE_DONOR']) printf(" Donations", urlencode($contact->getDisplayname()), $contact->getId());
if ($role & $GLOBALS['ROLE_REQUESTER']) printf(" Referred", urlencode($contact->getDisplayname()), $contact->getId());
- if ($role & $GLOBALS['ROLE_BENEFICIARY']) printf(" Orders", urlencode($contact->getDisplayname()), $contact->getId());
+ if ($role & $GLOBALS['ROLE_BENEFICIARY']) {
+ printf(" Orders", urlencode($contact->getDisplayname()), $contact->getId());
+ if (get_contact_area($contact)) printf(" Place", urlencode($contact->getDisplayname()), $contact->getId());
+ }
if (check_admin(1)) {
echo " " . $contact->getDeleteLink();
}
@@ -173,8 +176,8 @@
return show_role_form($role, $GLOBALS['contact_roles']);
}
- function show_contact_form($contact = null) {
- global $contact_roles;
+ function show_contact_form($contact = null, $new = false) {
+ global $contact_roles, $parcel_sizes, $parcel_contents;
if (! $contact) $contact = new Contact;
@@ -184,6 +187,14 @@
echo "
"; show_contact_role_form($contact->getRole()); echo " | \n";
echo "\n";
+ /* Date added. */
+ if (! $new) {
+ echo "\n";
+ echo " Registered | \n";
+ echo " " . $contact->getAdded() . " | \n";
+ echo "
\n";
+ }
+
/* Forename. */
echo "\n";
echo " Forename | \n";
@@ -251,6 +262,30 @@
echo " \n";
echo "
\n";
+ /* Parcel type. */
+ echo "\n";
+ echo " Family unit | \n";
+ echo " | \n";
+ echo "
\n";
+
+ /* Parcel contents. */
+ echo "\n";
+ echo " Dietary requirements | \n";
+ echo " ";
+ for ($i = count($parcel_sizes); $i < count($parcel_contents); $i++) {
+ if (1 << $i == $GLOBALS['PARCEL_TOILETRY']) continue;
+ echo " getParcel() & (1 << $i)) echo " checked";
+ echo ">$parcel_contents[$i]\n";
+ }
+ echo " | \n";
+ echo "
\n";
+
/* Notes. */
echo "\n";
echo " Notes | \n";
@@ -271,7 +306,7 @@
echo "Add a new contact:
\n";
echo "\n";
- show_contact_form($contact);
+ show_contact_form($contact, true);
echo "\n";
echo " "; submit("add_contact", "Add"); echo " |
\n";
@@ -302,7 +337,7 @@
}
function update_contact(&$contact, $area_id, $new = false) {
- global $contact_roles;
+ global $contact_roles, $parcel_sizes, $parcel_contents;
$role = 0;
for ($i = 0; $i < count($contact_roles); $i++) {
@@ -335,6 +370,7 @@
}
/* Get address. */
+ $area_id = $_POST['area_id'];
$line = $_POST['address'];
$postcode = $_POST['postcode'];
$q = new AddressQuery;
@@ -360,6 +396,10 @@
$telephone1 = $_POST['telephone1'];
$telephone2 = $_POST['telephone2'];
$email = $_POST['email'];
+ $parcel = $_POST['parcel_size'];
+ for ($i = count($parcel_sizes); $i < count($parcel_contents); $i++) {
+ if ($_POST['parcel_' . $i] == "on") $parcel |= (1 << $i);
+ }
$notes = $_POST['notes'];
$contact->setRole($role);
@@ -370,6 +410,7 @@
$contact->setTelephone1($telephone1);
$contact->setTelephone2($telephone2);
$contact->setEmail($email);
+ $contact->setParcel($parcel);
$contact->setNotes($notes);
$contact->setAddressId($address->getId());