Commit Graph

19 Commits

Author SHA1 Message Date
Klaus Leithoff
5a8f98fc31 if is not a string but 0, the comparsion == ->autoinc_id is true, which leads to an SQL Query error, if an extra column is used in sorting/filtering together with the lettersearch 2010-05-28 11:18:17 +00:00
Nathan Gray
69938436a9 Backport r29733 - Multi select filter matches any record with that value selected 2010-04-08 23:11:35 +00:00
Ralf Becker
200a6d61d5 Reworked so_sql class to:
- use new egw_time::server2user() and egw_time::user2server() to do
  timezone conversation of registered timestamps
- added $timestamp_type parameter to constructor, to automatic convert
  all timestamps on read (or search) to given type, default NULL leaves
  them unchanged --> will allow in future to work completly with
  egw_time objects
2009-10-08 16:18:28 +00:00
Ralf Becker
a47dab03a4 "added $extra_cols parameter of so_sql (parent class)" 2009-09-28 12:44:44 +00:00
Ralf Becker
a4d167ef8c "fix to allow array with id's for autoinc_id" 2009-09-26 11:00:11 +00:00
Ralf Becker
ad5d2c3941 docu update and fixed so_sql_cf::delete($keys,true) to always return array 2009-09-16 10:20:34 +00:00
Ralf Becker
a8fa4383e5 "fixed typo" 2009-08-28 07:14:39 +00:00
Ralf Becker
3a3a0e1613 "fix to allow to specify multiple autoinc_id's (as eg. done in timesheet_bo::sum())" 2009-08-25 12:48:04 +00:00
Ralf Becker
19086bb7b0 Some fixes and enhancments to simplify search with so_sql
- search($criteria,...) if $criteria is a string, search in all data
  columns or - if set - $this->columns_to_search
  --> that's NOT backward compatible - though a quick scan through the
      EGroupware code showed no use of $criteria as string!
- this automatic search, appends and prepends '%' only, if search
  pattern does NOT already contain wildcards (* or ?)
  --> allows to search "test*" for values starting with test
- improved handling of db timestamps (Y-m-d H:i:s), to allow to search
  for them too (eg. "2009-08-*")
- so_sql_cf::get_rows() now calls parent
- so_sql_cf::search() adds DISTINCT if query contains a join
--> ToDo: remove custom search code from apps, to give consitent search
behavior in all apps and simplify the code there
2009-08-19 12:08:52 +00:00
Ralf Becker
281502f36f allow to use an etag in so_sql_cf::save(), eg array("etag=etag+1") 2009-08-10 16:32:45 +00:00
Ralf Becker
b400e8d880 "allow a negative filter (eg. '!xyz'), NULL or array with possible values as custom field filter" 2009-08-10 15:31:49 +00:00
Ralf Becker
ae855c4979 "we explicitly need to delete custom fields, if value is empty or field allows multiple values or we have no unique index" 2009-08-10 09:12:35 +00:00
Ralf Becker
ee2b5cf164 new param to delete method only return ids: can be used in extended class for deletes in other tables 2009-07-13 08:17:41 +00:00
Ralf Becker
a5f7d8d4a3 "fix for bug #2085 - Rev. 27023 PM does no longer save custom fields" 2009-05-19 07:31:13 +00:00
Ralf Becker
d56e962ca3 "allow to store custom fields with 1:N relations (eg. multi-select-box) as real 1:N relation in the DB
(default is the old behavior!)"
2009-05-17 22:03:31 +00:00
Ralf Becker
5a22640c82 - changed return value of search() to NULL instead false, if nothing
found, as this can be simply casted with (array) to work in foreach
- documentation update
2009-05-03 18:36:38 +00:00
Ralf Becker
b7444a9598 "fix for bug #2025: Database error in Timesheet with selected view category/date" 2009-04-01 20:01:54 +00:00
Ralf Becker
bfab75389c "replace ambiguous auto-id with (an exact match of) table_name.autoid" 2009-04-01 13:01:16 +00:00
Ralf Becker
1b4d236d4a New class extending so_sql handing all custom fields needs: reading,
saving, searching, ordering and filtering
Makeing a full custom field implementation like in addressbook very easy
and quick
2009-01-17 03:36:58 +00:00