From: Metabox Date: Sat, 5 Oct 2019 04:00:13 +0000 (+1000) Subject: Sticky log entries, implemented. X-Git-Url: https://lifelog.hopto.org/gitweb/?a=commitdiff_plain;h=26ab9d6a573d9a6a6ca8caa779be66ffa7dfe64d;p=LifeLog.git Sticky log entries, implemented. --- diff --git a/Current Development Check List.md b/Current Development Check List.md index f8fbfb7..9fdbacf 100644 --- a/Current Development Check List.md +++ b/Current Development Check List.md @@ -5,7 +5,7 @@ This version is not compatible in data structure to prior versions. Data migration is required, to transfer previous data (see ../dbLifeLog/main.cnf). ## LifeLog -* Implement sticky log entries. +* ✔ Implement sticky log entries. * $CUR_MTH_SVIEW - Start view page is for current month, and the sticky set. * Some System settings to be stored in session. As these are known even before logon. > i.e. $SESSN_EXPR, $RELEASE_VER, $TIME_ZONE, $LOG_PATH diff --git a/htdocs/cgi-bin/login_ctr.cgi b/htdocs/cgi-bin/login_ctr.cgi index f4dfb4a..4dd01cd 100755 --- a/htdocs/cgi-bin/login_ctr.cgi +++ b/htdocs/cgi-bin/login_ctr.cgi @@ -177,7 +177,7 @@ try{ or die "

Error->"& $DBI::errstri &"

"; my $rv; my $st = $db->prepare(selSQLTbl('LOG')); - $st->execute(); + $st->execute(); my $changed = 0; @@ -197,8 +197,8 @@ try{ $rv = $db->do($stmt); if($rv < 0){print "

Error->"& $DBI::errstri &"

";} - $st = $db->prepare('INSERT INTO LOG VALUES (?,?,?,?,?,?,?)'); - $st->execute( 3, $today, "DB Created!",0,0,0, 0); + $st = $db->prepare('INSERT INTO LOG(ID_CAT,DATE,LOG) VALUES (?,?,?)'); + $st->execute( 3, $today, "DB Created!"); } $st = $db->prepare(selSQLTbl('CAT')); $st->execute(); diff --git a/htdocs/cgi-bin/main.cgi b/htdocs/cgi-bin/main.cgi index 791b9ac..a481c80 100755 --- a/htdocs/cgi-bin/main.cgi +++ b/htdocs/cgi-bin/main.cgi @@ -81,7 +81,7 @@ my $rs_dat_to = $cgi->param('v_to'); my $rs_prev = $cgi->param('rs_prev'); my $rs_cur = $cgi->param('rs_cur'); my $rs_page = $cgi->param('rs_page'); -my $stmS = "SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF from LOG WHERE"; +my $stmS = "SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF, STICKY from LOG WHERE"; my $stmE = " ORDER BY DATE DESC;"; my $stmD = ""; my $sm_reset_all; @@ -175,7 +175,7 @@ print $cgi->start_html( my $rv; my $st; my $stmtCat = "SELECT ID, NAME, DESCRIPTION FROM CAT ORDER BY ID;"; -my $stmt ="SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF FROM LOG ORDER BY DATE DESC, rowid DESC;"; +my $stmt ="SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF, STICKY FROM LOG ORDER BY STICKY DESC, DATE DESC, rowid DESC;"; $st = $db->prepare($stmtCat); $rv = $st->execute() or die "

Error->" & $DBI::errstri & "

"; @@ -290,7 +290,7 @@ qq(
pre("### -> ".$stmt); + print $cgi->pre("### -> ".$stmt); # my $tfId = 0; my $id = 0; @@ -332,6 +332,7 @@ qq( Asset as 0, Income as 1, Expense as 2 my $rtf = $row[6]; #RTF has document true or false + my $sticky = $row[7]; #Sticky to top if ( $af == 1 ) { #AFLAG Income $sum += $am; @@ -543,6 +544,9 @@ qq(\n); $am = qq($am); } + my $ssymb = "Edit"; + $ssymb = "Edit ✵" if $sticky; + $log_output .= qq( $dtf $dth @@ -551,8 +555,9 @@ qq(\n); $ct + - + ); @@ -695,6 +700,7 @@ _TXT   RTF Document + Sticky @@ -849,10 +855,11 @@ return $today; my $edit_mode = $cgi->param('submit_is_edit'); my $view_mode = $cgi->param('submit_is_view'); my $view_all = $cgi->param('rs_all'); - my $is_rtf = $cgi->param('rtf'); - my $rtf = 0; - my $sticky = 0; - $rtf = 1 if $is_rtf eq 'on'; + my $rtf = $cgi->param('rtf'); + my $sticky = $cgi->param('sticky'); + + $rtf = 1 if $rtf eq 'on'; + $sticky = 1 if $sticky eq 'on'; try { #Apostroph's need to be replaced with doubles and white space to be fixed for the SQL. @@ -861,9 +868,14 @@ return $today; if ( $edit_mode && $edit_mode != "0" ) { #Update - - my $stm = qq( UPDATE LOG SET ID_CAT='$cat', DATE='$date', LOG='$log', AMOUNT='$am', AFLAG = '$af', RTF='$rtf' - WHERE rowid="$edit_mode";); + $date = DateTime::Format::SQLite->parse_datetime($date); + my $stm = qq( UPDATE LOG SET ID_CAT='$cat', + DATE='$date', + LOG='$log', + AMOUNT='$am', + AFLAG = '$af', + RTF='$rtf', + STICKY='$sticky' WHERE rowid="$edit_mode";); my $st = $db->prepare($stm); $st->execute(); return; @@ -886,7 +898,7 @@ return $today; else { $rs_page++; } - $stmt = qq(SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF from LOG where rowid <= '$rs_cur' ORDER BY DATE DESC;); + $stmt = qq(SELECT rowid, ID_CAT, DATE, LOG, AMOUNT, AFLAG, RTF, STICKY from LOG where rowid <= '$rs_cur' ORDER BY STICKY DESC, DATE DESC;); return; } } diff --git a/htdocs/cgi-bin/wsrc/main.js b/htdocs/cgi-bin/wsrc/main.js index 9426696..3450973 100644 --- a/htdocs/cgi-bin/wsrc/main.js +++ b/htdocs/cgi-bin/wsrc/main.js @@ -291,7 +291,9 @@ function edit(row) { var log = $("#v" + row); //log var rtf = $("#r" + row); //RTF doc var amt = $("#f" + row); //Amount type. + var sticky = $("#s" + row); //RTF doc var isRTF = (rtf.val()>0?true:false); + var isSticky = (sticky.val()>0?true:false); if(!isRTF){ $('#rtf_doc').hide(); $('#tbl_doc').hide(); @@ -304,7 +306,9 @@ function edit(row) { $("#el").val(decodeToHTMLText(tag.val())); } else { - $("#el").val(decodeToText(log.text())); + var txt = log.html(); + txt = txt.replace(/
/g,"\n"); + $("#el").val(decodeToText(txt)); } $("#ed").val(ed_v.val() + " " + et_v.html()); //Time field @@ -312,6 +316,7 @@ function edit(row) { val = val.replace(/\,/g,""); $("#am").val(val); //Amount field, fix 04-08-2019 HTML input doesn't accept formated string. $("#RTF").prop('checked', isRTF); + $("#STICKY").prop('checked', isSticky); if(isRTF){ loadRTF(false, row);