summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Iain Patterson [Thu, 7 Nov 2013 16:31:05 +0000 (11:31 -0500)]
Added get_small_link_with_id() function.
The get_small_link_with_id() function behaves the same as
get_small_link() except that the returned <a> tag includes an ID
suitable for use with jQuery.
Iain Patterson [Thu, 7 Nov 2013 13:00:24 +0000 (08:00 -0500)]
Make textareas dynamically resizable.
Use Jack Moore's autosize plugin[1] for jQuery to expand the height of
textareas as they are filled.
[1] http://www.jacklmoore.com/autosize/
Iain Patterson [Thu, 7 Nov 2013 12:59:12 +0000 (07:59 -0500)]
Simpler RewriteCond rules.
Simply avoid rewrites for any file which exists rather than maintaining
a list of files which we explicitly don't rewrite.
Iain Patterson [Thu, 31 Oct 2013 16:21:50 +0000 (12:21 -0400)]
Fix setting name in add_contact().
The add_contact() function was supposed to set the name parameter to the
display name of the newly-created contact. We now ensure that that happens.
A side-effect of the bug was that we weren't showing the details of new
contacts, as was intended.
Iain Patterson [Thu, 31 Oct 2013 16:21:09 +0000 (12:21 -0400)]
Use label tags in checkbox descriptions.
Use the HTML <label> tag to make it easier to taggle checkboxes.
Iain Patterson [Tue, 15 Oct 2013 09:10:42 +0000 (05:10 -0400)]
Use show_date_form() for donations.
Iain Patterson [Tue, 15 Oct 2013 09:17:12 +0000 (05:17 -0400)]
Use datepicker() in show_date_form().
All date selectors are now standardised.
Iain Patterson [Tue, 15 Oct 2013 09:05:48 +0000 (05:05 -0400)]
Use datepicker() to select dates for reports.
Iain Patterson [Tue, 15 Oct 2013 09:02:07 +0000 (05:02 -0400)]
Use JQuery date pickers.
Added the datepicker() function which will show an input field for an
ISO8601 date entry. If scripting is enabled, JQuery will be used to
show a popup date picker when the user clicks in the field.
The date picker can be restricted to showing dates no earlier and/or no
later than today, and it can be linked to another picker to form a date
range selector.
Iain Patterson [Thu, 3 Oct 2013 07:59:17 +0000 (03:59 -0400)]
Typo.
Postcode validation rules are described in BS7666 not BS766.
Iain Patterson [Thu, 3 Oct 2013 07:51:54 +0000 (03:51 -0400)]
Postcode validation.
Validate postcode according to the rules described in BS766.
Iain Patterson [Tue, 24 Sep 2013 08:13:26 +0000 (09:13 +0100)]
Report orders by beneficiary postcode.
Iain Patterson [Wed, 11 Sep 2013 14:45:11 +0000 (15:45 +0100)]
Additionally report orders by parcel contents.
Break down sizes of parcel into parcel contents.
Iain Patterson [Mon, 9 Sep 2013 21:46:16 +0000 (22:46 +0100)]
Report orders by parcel size.
Iain Patterson [Mon, 5 Aug 2013 17:51:35 +0000 (18:51 +0100)]
Added report table class.
Report tables have extra padding for legibility.
Iain Patterson [Mon, 5 Aug 2013 17:51:27 +0000 (18:51 +0100)]
Removed rogue brace.
Iain Patterson [Mon, 5 Aug 2013 17:37:14 +0000 (18:37 +0100)]
Report orders by week.
Iain Patterson [Tue, 23 Jul 2013 21:33:25 +0000 (22:33 +0100)]
Report orders by requester.
Iain Patterson [Tue, 23 Jul 2013 21:33:12 +0000 (22:33 +0100)]
Framework for reports.
Iain Patterson [Wed, 10 Jul 2013 14:16:19 +0000 (10:16 -0400)]
Show phone number(s) in delivery schedule.
If a contact or hub has one r more phone numbers, show them in the
delivery schedule so the driver can phone ahead.
Iain Patterson [Tue, 25 Jun 2013 10:26:33 +0000 (06:26 -0400)]
Added logout link.
Configure web server to deny all requests for the /logout URI, for
example with "require user nonexistent" thus forcing a reauthentication.
Iain Patterson [Tue, 25 Jun 2013 10:18:49 +0000 (06:18 -0400)]
Don't show menu when not logged in.
Iain Patterson [Tue, 25 Jun 2013 10:16:07 +0000 (06:16 -0400)]
Show not logged in message on failed login.
Configure the server ErrorDocument to login.php and allow access to that
file for any client. The message will then be shown with full
stylesheet to clients who fail to authenticate.
Iain Patterson [Sun, 16 Jun 2013 11:50:20 +0000 (07:50 -0400)]
URL decode contact search string.
Iain Patterson [Sun, 16 Jun 2013 11:49:34 +0000 (07:49 -0400)]
Extend contact search to address.
Find contacts whose address matches the search string as well as those
whose name matches.
Iain Patterson [Wed, 15 May 2013 14:34:03 +0000 (10:34 -0400)]
Typo.
Incorrect bitshift caused order state to be recorded incorrectly.
Iain Patterson [Mon, 13 May 2013 12:22:26 +0000 (08:22 -0400)]
Correctly filter city or area.
When separate dropdowns for city and area are shown in one form we must
ensure that the correct search criterion is applied. Previously we
checked for an area or city ID parameter but both of those will be
present in the form submission. Instead we check for the name of the
submit button.
Iain Patterson [Mon, 13 May 2013 10:52:21 +0000 (06:52 -0400)]
Confirm deletion.
Show a second link to confirm the deletion of an object rather than
simply deleting immediately.
Iain Patterson [Mon, 13 May 2013 10:21:49 +0000 (06:21 -0400)]
Show map link from address.
Link to Google Maps for existing addresses.
Iain Patterson [Mon, 13 May 2013 10:21:01 +0000 (06:21 -0400)]
Added get_address_map_link().
Function to return a Google Maps URL for an address.
Iain Patterson [Mon, 13 May 2013 10:12:27 +0000 (06:12 -0400)]
Filter area and city searches.
Only show areas or city in dropdown for searches if there are
contacts, hubs etc in that area or city.
Iain Patterson [Mon, 13 May 2013 10:01:36 +0000 (06:01 -0400)]
Show order state in summary line.
Include order's current state in order summary.
Iain Patterson [Mon, 13 May 2013 09:58:49 +0000 (05:58 -0400)]
Use get_order_state*() functions.
Use the new functions get_order_state() and get_order_state_string()
where we were previously accessing the state directly.
Iain Patterson [Mon, 13 May 2013 09:57:02 +0000 (05:57 -0400)]
Added get_order_state() and get_order_state_string().
Return an order state with get_order_state(). Return a string
representation of an order state with get_order_state_string().
Iain Patterson [Mon, 13 May 2013 09:53:36 +0000 (05:53 -0400)]
Renamed get_order_state_uri() and get_order_state_string().
The functions are now get_order_state_query_uri() and
get_order_state_query_string() respectively. The original name
get_order_state_string() should be used to return a string
representation of a given order's state.
Iain Patterson [Mon, 13 May 2013 09:43:01 +0000 (05:43 -0400)]
Use textarea() for contact notes.
Iain Patterson [Mon, 13 May 2013 09:32:37 +0000 (05:32 -0400)]
Added order notes field.
Allow freeform notes for an order, for instance for noting specific
dietary requirements such as no tomatoes.
Iain Patterson [Mon, 13 May 2013 08:51:27 +0000 (04:51 -0400)]
Show all orders for a Contact.
Show order history for Contacts who are beneficiaries or requesters,
instead of only the former.
Iain Patterson [Mon, 13 May 2013 08:50:21 +0000 (04:50 -0400)]
Split get_contact_orders().
Added get_beneficiary_orders() and get_requester_orders() to show orders
for which a given Contact is a beneficiary or requester.
Reworked get_contact_orders() to show orders of either type.
Iain Patterson [Mon, 13 May 2013 08:49:20 +0000 (04:49 -0400)]
Formatting in get_order_parcel_string().
Make sure the output of get_order_parcel_string() doesn't include any
leading or trailing colons.
Iain Patterson [Mon, 13 May 2013 08:47:06 +0000 (04:47 -0400)]
Use get_order_summary() in Contact display.
Use the new get_order_summary() function when showing a Contact's order
history.
Iain Patterson [Mon, 13 May 2013 08:46:11 +0000 (04:46 -0400)]
Added get_order_summary().
Cut down code duplication with a function to show order summary.
Iain Patterson [Mon, 13 May 2013 08:43:08 +0000 (04:43 -0400)]
Order history formatting.
Use a paragraph with the history class to format the order history.
Iain Patterson [Mon, 13 May 2013 08:41:38 +0000 (04:41 -0400)]
Show links from order display.
Show links back to the requester, beneficiary, hub and driver from an
order display.
Iain Patterson [Mon, 13 May 2013 08:39:05 +0000 (04:39 -0400)]
Print formatting for the main page.
Show some headings on the main page only for hardcopies, making the
printout more meaningful.
Iain Patterson [Mon, 13 May 2013 08:37:35 +0000 (04:37 -0400)]
Use formatting classes on all cities link.
The link to show all Cities behaves like a form so is given the same
noprint and standout formatting classes.
Iain Patterson [Mon, 13 May 2013 08:35:56 +0000 (04:35 -0400)]
Make delete links non-printing.
Delete links don't need to be shown in hardcopies.
Iain Patterson [Mon, 13 May 2013 08:33:23 +0000 (04:33 -0400)]
Tidy up forms.
Use form() and end_form() where appropriate.
Use standout and noprint classes to emphasise forms and to hide those
which don't show any information.
Ensure that all appropriate forms are shown once. Not never; not twice.
Iain Patterson [Mon, 13 May 2013 08:29:19 +0000 (04:29 -0400)]
Use get_small_link().
Tidy up links from summary lines with get_small_link().
Iain Patterson [Fri, 10 May 2013 16:10:00 +0000 (12:10 -0400)]
Small link functions.
get_small_link() generates HTML for a small font link.
small_link() outputs the link directly.
Iain Patterson [Fri, 10 May 2013 16:08:47 +0000 (12:08 -0400)]
Various stylesheet changes.
Print media section. noprint class which is never printed. printonly
class which is shown only when printed.
Various prettiness improvements.
Iain Patterson [Wed, 1 May 2013 14:13:15 +0000 (10:13 -0400)]
Fix Area in City redirect.
Use the new URI format when redirecting to a descriptive URI from a from
submission.
Iain Patterson [Wed, 1 May 2013 14:09:53 +0000 (10:09 -0400)]
Typo.
The correct method name is getId() not getID().
Iain Patterson [Wed, 1 May 2013 13:37:47 +0000 (09:37 -0400)]
Standardise URI for showing Areas in a City.
Other entities such as Contacts and Donations use URIs of the form
/contact/in/city/<name> to show entities associated with a particular City.
Areas, however, were using /area/in/<name>. Change links and parameter
handling for consistency.
Iain Patterson [Wed, 1 May 2013 13:09:45 +0000 (09:09 -0400)]
Fixed link to City's Areas.
A typo prevented the link to Areas in a City from working.
Iain Patterson [Tue, 30 Apr 2013 16:44:39 +0000 (12:44 -0400)]
Show deliveries on arbitrary dates.
Allow showing drivers and deliveries scheduled on dates other than today.
Iain Patterson [Mon, 29 Apr 2013 16:21:49 +0000 (12:21 -0400)]
Use implode() instead of join().
Be consistent with use of implode()/explode().
Iain Patterson [Mon, 29 Apr 2013 16:20:57 +0000 (12:20 -0400)]
Added form() and end_form().
Functions to start and end a form with optional classes and action URL.
Iain Patterson [Mon, 22 Apr 2013 20:40:09 +0000 (16:40 -0400)]
Show outstanding orders in contact view.
List any orders which are not delivered or cancelled when viewing a
beneficiary.
Iain Patterson [Mon, 22 Apr 2013 20:39:16 +0000 (16:39 -0400)]
Added get_order_ids_by_state().
Function to find orders in a given state.
Iain Patterson [Mon, 22 Apr 2013 20:08:53 +0000 (16:08 -0400)]
Show dates in the past.
Show dates up to two months in the past as well as the future when
creating a date dropdown.
Iain Patterson [Mon, 22 Apr 2013 19:57:51 +0000 (15:57 -0400)]
Fixed changing area in existing address.
Searching for an existing address was using the old area ID rather than
any new one specified by the user.
Iain Patterson [Mon, 22 Apr 2013 19:49:48 +0000 (15:49 -0400)]
Fixed check for quantity in order.
We were still checking for a valid quantity even though the field has
been removed.
Iain Patterson [Fri, 19 Apr 2013 08:27:29 +0000 (04:27 -0400)]
Typo.
Incorrect bitshift caused $PARCEL_SINGLE to be ignored.
To fix in the database, run
update Contact set parcel=parcel|1 where parcel>0 and not (parcel & 7);
update FoodOrder set parcel=parcel|1 where parcel>0 and not (parcel & 7);
Iain Patterson [Thu, 18 Apr 2013 16:11:46 +0000 (12:11 -0400)]
Suggest parcel from contact details.
Prepopulate the parcel size and contents field of new orders to a named
contact.
Iain Patterson [Thu, 18 Apr 2013 16:10:25 +0000 (12:10 -0400)]
Record contacts' preferred parcel type.
Specify family unit and dietary requirements for a contact by reusing
parcel flags.
Iain Patterson [Thu, 18 Apr 2013 16:09:36 +0000 (12:09 -0400)]
Removed order quantity.
Orders refer to parcel size and contents. Quantity isn't used.
Iain Patterson [Thu, 18 Apr 2013 14:46:26 +0000 (10:46 -0400)]
Link directly to order from contact view.
Added a link from the contacts page which will create a new order with
the beneficiary selected.
Iain Patterson [Wed, 10 Apr 2013 21:52:25 +0000 (17:52 -0400)]
Describe parcels with more detail.
Specify family unit size and allow multiple types of parcel contents.
Iain Patterson [Wed, 10 Apr 2013 21:39:37 +0000 (17:39 -0400)]
Fix driver display in order form.
Drivers were being correctly recorded but not always correctly displayed
when viewing existing orders.
Iain Patterson [Wed, 10 Apr 2013 20:55:40 +0000 (16:55 -0400)]
Record donations in grams.
Donations are entered as kilograms to two decimal places but are stored
internally as integers.
Convert the donation to grams so we can save an integer value to the
database.
Iain Patterson [Wed, 10 Apr 2013 20:50:41 +0000 (16:50 -0400)]
Added contact registration date.
Record date a contact was registered on the system.
Iain Patterson [Wed, 10 Apr 2013 16:41:41 +0000 (12:41 -0400)]
Fix foreign key constraints.
OrderState references a contact ID rather than a user.
Foreign keys must be explicitly set as NULL from Propel.
Iain Patterson [Wed, 10 Apr 2013 16:40:58 +0000 (12:40 -0400)]
Allow placing recurring orders.
New orders can be assigned a recurrence of up to 3 weekly iterations.
Iain Patterson [Wed, 10 Apr 2013 08:20:18 +0000 (04:20 -0400)]
Added contact notes field.
Allow freeform notes for a contact, for instance for quickly noting the
family makeup and dietary requirements during a phone call so that more
details attributes can be specified when time pressure is relaxed.
Iain Patterson [Tue, 9 Apr 2013 22:27:17 +0000 (18:27 -0400)]
Standardise contact and hub display.
Contacts and hubs are very similar, having roles, addresses and
entity-specific attributes. Use similar functions and layout when
showing them both.
Iain Patterson [Tue, 9 Apr 2013 22:26:57 +0000 (18:26 -0400)]
Split hub roles.
Differentiate between hubs which take donations (ROLE_COLLECTION) and
those which receive orders on behalf of beneficiaries
(ROLE_DISTRIBUTION).
Iain Patterson [Tue, 9 Apr 2013 19:30:17 +0000 (15:30 -0400)]
Requester => Referrer.
The preferred terminology for someone requesting an order is Referrer
rather than Requester.
Iain Patterson [Tue, 9 Apr 2013 15:44:41 +0000 (11:44 -0400)]
Go live.