Mercurial > hg > egg-tcls
comparison tj.tcl @ 642:5cbff6baebef
tj: Fix handling of description updating and setting.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 16 Feb 2021 12:58:01 +0200 |
parents | 0b618c09063f |
children | 77c9feb5dcee |
comparison
equal
deleted
inserted
replaced
641:0b618c09063f | 642:5cbff6baebef |
---|---|
240 tj_msg $upublic $unick $uchan "help_set" | 240 tj_msg $upublic $unick $uchan "help_set" |
241 return 1 | 241 return 1 |
242 } | 242 } |
243 | 243 |
244 # Check for #id prefix | 244 # Check for #id prefix |
245 if {[tj_get_id $rarg rindex uid]} { | 245 set rdesc "*" |
246 set rdesc "" | 246 if {![tj_get_id $rarg rindex uid]} { |
247 } else { | |
248 set rdesc $tj_default_desc | |
249 set uid [tj_get_default_id $uhand] | 247 set uid [tj_get_default_id $uhand] |
250 } | 248 } |
251 | 249 |
252 if {![utl_arg_get $rarglist rindex rarg 1]} { | 250 if {![utl_arg_get $rarglist rindex rarg 1]} { |
253 tj_msg $upublic $unick $uchan "help_set" | 251 tj_msg $upublic $unick $uchan "help_set" |
295 | 293 |
296 # Compute target timestamp | 294 # Compute target timestamp |
297 set rstamp [expr $uclock + ($rdays * 24 * 60 * 60) + ($rhours * 60 * 60)] | 295 set rstamp [expr $uclock + ($rdays * 24 * 60 * 60) + ($rhours * 60 * 60)] |
298 } else { | 296 } else { |
299 # Only description, if any | 297 # Only description, if any |
300 if {![tj_arg_rest $rarglist 1 rdesc]} { | 298 incr rindex -1 |
301 tj_msg $upublic $unick $uchan "err_invalid_format" [list] | 299 tj_arg_rest $rarglist $rindex rdesc |
302 return 1 | |
303 } | |
304 set rstamp "invalid" | 300 set rstamp "invalid" |
305 } | 301 } |
306 | 302 |
307 # Check if ID exists | 303 # Check if ID exists |
308 set umode 1 | 304 set umode 1 |
310 set usql "SELECT * FROM tj WHERE uid LIKE '[utl_escape $uid]'" | 306 set usql "SELECT * FROM tj WHERE uid LIKE '[utl_escape $uid]'" |
311 tj_dbh eval $usql { | 307 tj_dbh eval $usql { |
312 set umode 0 | 308 set umode 0 |
313 set cid $id | 309 set cid $id |
314 set ctarget $utarget | 310 set ctarget $utarget |
311 if {$rdesc == "*"} { | |
312 set rdesc $udesc | |
313 } | |
315 incr nres | 314 incr nres |
316 } | 315 } |
317 | 316 |
318 # Check for DB sanity | 317 # Check for DB sanity |
319 if {$nres > 1} { | 318 if {$nres > 1} { |
332 set rdate $ctarget | 331 set rdate $ctarget |
333 set ustamp [utl_sql_datetime_to_stamp $ctarget] | 332 set ustamp [utl_sql_datetime_to_stamp $ctarget] |
334 } else { | 333 } else { |
335 set rdate [utl_sql_stamp_to_datetime $rstamp] | 334 set rdate [utl_sql_stamp_to_datetime $rstamp] |
336 set ustamp $rstamp | 335 set ustamp $rstamp |
336 } | |
337 | |
338 if {$rdesc == "*"} { | |
339 set rdesc $tj_default_desc | |
337 } | 340 } |
338 | 341 |
339 set utjstr [tj_get_tj_str_delta $ustamp $uclock] | 342 set utjstr [tj_get_tj_str_delta $ustamp $uclock] |
340 set udate [tj_ctime $ustamp] | 343 set udate [tj_ctime $ustamp] |
341 | 344 |
368 tj_log "tj_set $cid:$uid:$uhand:$rdesc:$rdate:$udate" | 371 tj_log "tj_set $cid:$uid:$uhand:$rdesc:$rdate:$udate" |
369 } else { | 372 } else { |
370 # Update existing entry | 373 # Update existing entry |
371 set usqlargs {} | 374 set usqlargs {} |
372 lappend usqlargs "uupdated='$ucreated'" | 375 lappend usqlargs "uupdated='$ucreated'" |
373 if {[string length $rdesc] > 0} { | 376 if {[string length $rdesc] > 0 && $rdesc != "*"} { |
374 lappend usqlargs "udesc='[utl_escape $rdesc]'" | 377 lappend usqlargs "udesc='[utl_escape $rdesc]'" |
375 } | 378 } |
376 if {$rstamp != "invalid"} { | 379 if {$rstamp != "invalid"} { |
377 lappend usqlargs "utarget='$rdate'" | 380 lappend usqlargs "utarget='$rdate'" |
378 } | 381 } |