Fossil SCM
Bug fixes in check-in editing.
Commit
dbf6ce780d8e41ba8a0219c11d185b309b2e11a6dec25edec4244116919f86de
Parent
5c274a8790043f8…
2 files changed
+10
-8
+9
-9
+10
-8
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -3700,11 +3700,11 @@ | ||
| 3700 | 3700 | int fPropagateColor; /* True if color propagates before edit */ |
| 3701 | 3701 | int fNewPropagateColor; /* True if color propagates after edit */ |
| 3702 | 3702 | int fHasHidden = 0; /* True if hidden tag already set */ |
| 3703 | 3703 | int fHasClosed = 0; /* True if closed tag already set */ |
| 3704 | 3704 | const char *zChngTime = 0; /* Value of chngtime= query param, if any */ |
| 3705 | - int bApply = P("apply")!=0 && cgi_csrf_safe(2); | |
| 3705 | + int bApply = P("apply")!=0; | |
| 3706 | 3706 | int bPreview = P("preview")!=0; |
| 3707 | 3707 | char *zUuid; |
| 3708 | 3708 | Blob comment; |
| 3709 | 3709 | char *zBranchName = 0; |
| 3710 | 3710 | Stmt q; |
| @@ -3744,11 +3744,11 @@ | ||
| 3744 | 3744 | zNewBranch = PDT("brname",""); |
| 3745 | 3745 | zBranchName = branch_of_rid(rid); |
| 3746 | 3746 | zCloseFlag = P("close") ? " checked" : ""; |
| 3747 | 3747 | zHideFlag = P("hide") ? " checked" : ""; |
| 3748 | 3748 | blob_zero(&ctrl); |
| 3749 | - if( bApply || bPreview ){ | |
| 3749 | + if( (bApply && cgi_csrf_safe(2)) || bPreview ){ | |
| 3750 | 3750 | char *zNow = date_in_standard_format(zChngTime ? zChngTime : "now"); |
| 3751 | 3751 | blob_appendf(&ctrl, "D %s\n", zNow); |
| 3752 | 3752 | init_newtags(); |
| 3753 | 3753 | if( zNewColorFlag[0] |
| 3754 | 3754 | && zNewColor[0] |
| @@ -3776,15 +3776,17 @@ | ||
| 3776 | 3776 | if( zHideFlag[0] ) hide_branch(); |
| 3777 | 3777 | if( zCloseFlag[0] ) close_leaf(rid); |
| 3778 | 3778 | if( zNewTagFlag[0] && zNewTag[0] ) add_tag(zNewTag); |
| 3779 | 3779 | if( zNewBrFlag[0] && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 3780 | 3780 | construct_newtags_artifact(&ctrl, rid, zUuid, 0); |
| 3781 | - if( bApply && artifact_is_complete(&ctrl) ){ | |
| 3782 | - db_begin_transaction(); | |
| 3783 | - publish_newtags_artifact(&ctrl, rid); | |
| 3784 | - db_end_transaction(0); | |
| 3785 | - blob_reset(&ctrl); | |
| 3781 | + if( bApply ){ | |
| 3782 | + if( artifact_is_complete(&ctrl) ){ | |
| 3783 | + db_begin_transaction(); | |
| 3784 | + publish_newtags_artifact(&ctrl, rid); | |
| 3785 | + db_end_transaction(0); | |
| 3786 | + blob_reset(&ctrl); | |
| 3787 | + } | |
| 3786 | 3788 | cgi_redirectf("%R/ci/%S", zUuid); |
| 3787 | 3789 | } |
| 3788 | 3790 | } |
| 3789 | 3791 | blob_zero(&comment); |
| 3790 | 3792 | blob_append(&comment, zNewComment, -1); |
| @@ -3945,10 +3947,11 @@ | ||
| 3945 | 3947 | if( P("preview") ){ |
| 3946 | 3948 | @ <input type="submit" name="apply" value="Apply Changes"> |
| 3947 | 3949 | } |
| 3948 | 3950 | @ </td></tr> |
| 3949 | 3951 | @ </table> |
| 3952 | + login_insert_csrf_secret(); | |
| 3950 | 3953 | @ </div></form> |
| 3951 | 3954 | builtin_request_js("ci_edit.js"); |
| 3952 | 3955 | style_finish_page(); |
| 3953 | 3956 | } |
| 3954 | 3957 | |
| @@ -4220,11 +4223,10 @@ | ||
| 4220 | 4223 | fossil_free((void *)pzCancelTags); |
| 4221 | 4224 | } |
| 4222 | 4225 | if( fHide && !fHasHidden ) hide_branch(); |
| 4223 | 4226 | if( fClose && !fHasClosed ) close_leaf(rid); |
| 4224 | 4227 | if( zNewBranch && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 4225 | - if( !fDryRun ) db_begin_transaction(); | |
| 4226 | 4228 | construct_newtags_artifact(&ctrl, rid, zUuid, zUserOvrd); |
| 4227 | 4229 | if( fDryRun ){ |
| 4228 | 4230 | fossil_print("%s", blob_str(&ctrl)); |
| 4229 | 4231 | blob_reset(&ctrl); |
| 4230 | 4232 | }else{ |
| 4231 | 4233 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -3700,11 +3700,11 @@ | |
| 3700 | int fPropagateColor; /* True if color propagates before edit */ |
| 3701 | int fNewPropagateColor; /* True if color propagates after edit */ |
| 3702 | int fHasHidden = 0; /* True if hidden tag already set */ |
| 3703 | int fHasClosed = 0; /* True if closed tag already set */ |
| 3704 | const char *zChngTime = 0; /* Value of chngtime= query param, if any */ |
| 3705 | int bApply = P("apply")!=0 && cgi_csrf_safe(2); |
| 3706 | int bPreview = P("preview")!=0; |
| 3707 | char *zUuid; |
| 3708 | Blob comment; |
| 3709 | char *zBranchName = 0; |
| 3710 | Stmt q; |
| @@ -3744,11 +3744,11 @@ | |
| 3744 | zNewBranch = PDT("brname",""); |
| 3745 | zBranchName = branch_of_rid(rid); |
| 3746 | zCloseFlag = P("close") ? " checked" : ""; |
| 3747 | zHideFlag = P("hide") ? " checked" : ""; |
| 3748 | blob_zero(&ctrl); |
| 3749 | if( bApply || bPreview ){ |
| 3750 | char *zNow = date_in_standard_format(zChngTime ? zChngTime : "now"); |
| 3751 | blob_appendf(&ctrl, "D %s\n", zNow); |
| 3752 | init_newtags(); |
| 3753 | if( zNewColorFlag[0] |
| 3754 | && zNewColor[0] |
| @@ -3776,15 +3776,17 @@ | |
| 3776 | if( zHideFlag[0] ) hide_branch(); |
| 3777 | if( zCloseFlag[0] ) close_leaf(rid); |
| 3778 | if( zNewTagFlag[0] && zNewTag[0] ) add_tag(zNewTag); |
| 3779 | if( zNewBrFlag[0] && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 3780 | construct_newtags_artifact(&ctrl, rid, zUuid, 0); |
| 3781 | if( bApply && artifact_is_complete(&ctrl) ){ |
| 3782 | db_begin_transaction(); |
| 3783 | publish_newtags_artifact(&ctrl, rid); |
| 3784 | db_end_transaction(0); |
| 3785 | blob_reset(&ctrl); |
| 3786 | cgi_redirectf("%R/ci/%S", zUuid); |
| 3787 | } |
| 3788 | } |
| 3789 | blob_zero(&comment); |
| 3790 | blob_append(&comment, zNewComment, -1); |
| @@ -3945,10 +3947,11 @@ | |
| 3945 | if( P("preview") ){ |
| 3946 | @ <input type="submit" name="apply" value="Apply Changes"> |
| 3947 | } |
| 3948 | @ </td></tr> |
| 3949 | @ </table> |
| 3950 | @ </div></form> |
| 3951 | builtin_request_js("ci_edit.js"); |
| 3952 | style_finish_page(); |
| 3953 | } |
| 3954 | |
| @@ -4220,11 +4223,10 @@ | |
| 4220 | fossil_free((void *)pzCancelTags); |
| 4221 | } |
| 4222 | if( fHide && !fHasHidden ) hide_branch(); |
| 4223 | if( fClose && !fHasClosed ) close_leaf(rid); |
| 4224 | if( zNewBranch && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 4225 | if( !fDryRun ) db_begin_transaction(); |
| 4226 | construct_newtags_artifact(&ctrl, rid, zUuid, zUserOvrd); |
| 4227 | if( fDryRun ){ |
| 4228 | fossil_print("%s", blob_str(&ctrl)); |
| 4229 | blob_reset(&ctrl); |
| 4230 | }else{ |
| 4231 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -3700,11 +3700,11 @@ | |
| 3700 | int fPropagateColor; /* True if color propagates before edit */ |
| 3701 | int fNewPropagateColor; /* True if color propagates after edit */ |
| 3702 | int fHasHidden = 0; /* True if hidden tag already set */ |
| 3703 | int fHasClosed = 0; /* True if closed tag already set */ |
| 3704 | const char *zChngTime = 0; /* Value of chngtime= query param, if any */ |
| 3705 | int bApply = P("apply")!=0; |
| 3706 | int bPreview = P("preview")!=0; |
| 3707 | char *zUuid; |
| 3708 | Blob comment; |
| 3709 | char *zBranchName = 0; |
| 3710 | Stmt q; |
| @@ -3744,11 +3744,11 @@ | |
| 3744 | zNewBranch = PDT("brname",""); |
| 3745 | zBranchName = branch_of_rid(rid); |
| 3746 | zCloseFlag = P("close") ? " checked" : ""; |
| 3747 | zHideFlag = P("hide") ? " checked" : ""; |
| 3748 | blob_zero(&ctrl); |
| 3749 | if( (bApply && cgi_csrf_safe(2)) || bPreview ){ |
| 3750 | char *zNow = date_in_standard_format(zChngTime ? zChngTime : "now"); |
| 3751 | blob_appendf(&ctrl, "D %s\n", zNow); |
| 3752 | init_newtags(); |
| 3753 | if( zNewColorFlag[0] |
| 3754 | && zNewColor[0] |
| @@ -3776,15 +3776,17 @@ | |
| 3776 | if( zHideFlag[0] ) hide_branch(); |
| 3777 | if( zCloseFlag[0] ) close_leaf(rid); |
| 3778 | if( zNewTagFlag[0] && zNewTag[0] ) add_tag(zNewTag); |
| 3779 | if( zNewBrFlag[0] && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 3780 | construct_newtags_artifact(&ctrl, rid, zUuid, 0); |
| 3781 | if( bApply ){ |
| 3782 | if( artifact_is_complete(&ctrl) ){ |
| 3783 | db_begin_transaction(); |
| 3784 | publish_newtags_artifact(&ctrl, rid); |
| 3785 | db_end_transaction(0); |
| 3786 | blob_reset(&ctrl); |
| 3787 | } |
| 3788 | cgi_redirectf("%R/ci/%S", zUuid); |
| 3789 | } |
| 3790 | } |
| 3791 | blob_zero(&comment); |
| 3792 | blob_append(&comment, zNewComment, -1); |
| @@ -3945,10 +3947,11 @@ | |
| 3947 | if( P("preview") ){ |
| 3948 | @ <input type="submit" name="apply" value="Apply Changes"> |
| 3949 | } |
| 3950 | @ </td></tr> |
| 3951 | @ </table> |
| 3952 | login_insert_csrf_secret(); |
| 3953 | @ </div></form> |
| 3954 | builtin_request_js("ci_edit.js"); |
| 3955 | style_finish_page(); |
| 3956 | } |
| 3957 | |
| @@ -4220,11 +4223,10 @@ | |
| 4223 | fossil_free((void *)pzCancelTags); |
| 4224 | } |
| 4225 | if( fHide && !fHasHidden ) hide_branch(); |
| 4226 | if( fClose && !fHasClosed ) close_leaf(rid); |
| 4227 | if( zNewBranch && zNewBranch[0] ) change_branch(rid,zNewBranch); |
| 4228 | construct_newtags_artifact(&ctrl, rid, zUuid, zUserOvrd); |
| 4229 | if( fDryRun ){ |
| 4230 | fossil_print("%s", blob_str(&ctrl)); |
| 4231 | blob_reset(&ctrl); |
| 4232 | }else{ |
| 4233 |
+9
-9
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -459,11 +459,11 @@ | ||
| 459 | 459 | int commentColumn = 3; /* Column containing comment text */ |
| 460 | 460 | int modPending; /* Pending moderation */ |
| 461 | 461 | char *zDateLink; /* URL for the link on the timestamp */ |
| 462 | 462 | int drawDetailEllipsis; /* True to show ellipsis in place of detail */ |
| 463 | 463 | int gidx = 0; /* Graph row identifier */ |
| 464 | - int isSelectedOrCurrent = 0; /* True if current row is selected */ | |
| 464 | + int omitCommentColor = 0; /* True to skip added color to comments */ | |
| 465 | 465 | const char *zExtraClass = ""; |
| 466 | 466 | char zTime[20]; |
| 467 | 467 | |
| 468 | 468 | if( zDate==0 ){ |
| 469 | 469 | zDate = "YYYY-MM-DD HH:MM:SS"; /* Something wrong with the repo */ |
| @@ -532,14 +532,14 @@ | ||
| 532 | 532 | zTime[0] = 0; |
| 533 | 533 | } |
| 534 | 534 | pendingEndTr = 1; |
| 535 | 535 | if( rid==pXtra->selectedRid ){ |
| 536 | 536 | @ <tr class="timelineSelected"> |
| 537 | - isSelectedOrCurrent = 1; | |
| 537 | + omitCommentColor = 1; | |
| 538 | 538 | }else if( rid==pXtra->secondRid ){ |
| 539 | 539 | @ <tr class="timelineSelected timelineSecondary"> |
| 540 | - isSelectedOrCurrent = 1; | |
| 540 | + omitCommentColor = 1; | |
| 541 | 541 | }else if( rid==vid ){ |
| 542 | 542 | @ <tr class="timelineCurrent"> |
| 543 | 543 | }else { |
| 544 | 544 | @ <tr> |
| 545 | 545 | } |
| @@ -658,14 +658,14 @@ | ||
| 658 | 658 | gidx = graph_add_row(pGraph, rid, -1, 0, 0, zBr, zBgClr, zUuid, 0); |
| 659 | 659 | @ <div id="m%d(gidx)" class="tl-nodemark"></div> |
| 660 | 660 | } |
| 661 | 661 | fossil_free(zBr); |
| 662 | 662 | @</td> |
| 663 | - if( !isSelectedOrCurrent ){ | |
| 664 | - @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)" id='mc%d(gidx)'> | |
| 665 | - }else{ | |
| 663 | + if( omitCommentColor ){ | |
| 666 | 664 | @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)"> |
| 665 | + }else{ | |
| 666 | + @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)" id='mc%d(gidx)'> | |
| 667 | 667 | } |
| 668 | 668 | if( pGraph ){ |
| 669 | 669 | if( zType[0]=='e' ){ |
| 670 | 670 | @ <b>Note:</b> |
| 671 | 671 | }else if( zType[0]!='c' ){ |
| @@ -787,14 +787,14 @@ | ||
| 787 | 787 | if( drawDetailEllipsis ){ |
| 788 | 788 | @ <span class='timelineEllipsis' id='ellipsis-%d(rid)' \ |
| 789 | 789 | @ data-id='%d(rid)'>...</span> |
| 790 | 790 | } |
| 791 | 791 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 792 | - if( !isSelectedOrCurrent ){ | |
| 793 | - @ <td class="timelineDetailCell%s(zExtraClass)" id='md%d(gidx)'> | |
| 794 | - }else{ | |
| 792 | + if( omitCommentColor ){ | |
| 795 | 793 | @ <td class="timelineDetailCell%s(zExtraClass)"> |
| 794 | + }else{ | |
| 795 | + @ <td class="timelineDetailCell%s(zExtraClass)" id='md%d(gidx)'> | |
| 796 | 796 | } |
| 797 | 797 | } |
| 798 | 798 | if( tmFlags & TIMELINE_COMPACT ){ |
| 799 | 799 | cgi_printf("<span class='clutter' id='detail-%d'>",rid); |
| 800 | 800 | } |
| 801 | 801 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -459,11 +459,11 @@ | |
| 459 | int commentColumn = 3; /* Column containing comment text */ |
| 460 | int modPending; /* Pending moderation */ |
| 461 | char *zDateLink; /* URL for the link on the timestamp */ |
| 462 | int drawDetailEllipsis; /* True to show ellipsis in place of detail */ |
| 463 | int gidx = 0; /* Graph row identifier */ |
| 464 | int isSelectedOrCurrent = 0; /* True if current row is selected */ |
| 465 | const char *zExtraClass = ""; |
| 466 | char zTime[20]; |
| 467 | |
| 468 | if( zDate==0 ){ |
| 469 | zDate = "YYYY-MM-DD HH:MM:SS"; /* Something wrong with the repo */ |
| @@ -532,14 +532,14 @@ | |
| 532 | zTime[0] = 0; |
| 533 | } |
| 534 | pendingEndTr = 1; |
| 535 | if( rid==pXtra->selectedRid ){ |
| 536 | @ <tr class="timelineSelected"> |
| 537 | isSelectedOrCurrent = 1; |
| 538 | }else if( rid==pXtra->secondRid ){ |
| 539 | @ <tr class="timelineSelected timelineSecondary"> |
| 540 | isSelectedOrCurrent = 1; |
| 541 | }else if( rid==vid ){ |
| 542 | @ <tr class="timelineCurrent"> |
| 543 | }else { |
| 544 | @ <tr> |
| 545 | } |
| @@ -658,14 +658,14 @@ | |
| 658 | gidx = graph_add_row(pGraph, rid, -1, 0, 0, zBr, zBgClr, zUuid, 0); |
| 659 | @ <div id="m%d(gidx)" class="tl-nodemark"></div> |
| 660 | } |
| 661 | fossil_free(zBr); |
| 662 | @</td> |
| 663 | if( !isSelectedOrCurrent ){ |
| 664 | @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)" id='mc%d(gidx)'> |
| 665 | }else{ |
| 666 | @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)"> |
| 667 | } |
| 668 | if( pGraph ){ |
| 669 | if( zType[0]=='e' ){ |
| 670 | @ <b>Note:</b> |
| 671 | }else if( zType[0]!='c' ){ |
| @@ -787,14 +787,14 @@ | |
| 787 | if( drawDetailEllipsis ){ |
| 788 | @ <span class='timelineEllipsis' id='ellipsis-%d(rid)' \ |
| 789 | @ data-id='%d(rid)'>...</span> |
| 790 | } |
| 791 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 792 | if( !isSelectedOrCurrent ){ |
| 793 | @ <td class="timelineDetailCell%s(zExtraClass)" id='md%d(gidx)'> |
| 794 | }else{ |
| 795 | @ <td class="timelineDetailCell%s(zExtraClass)"> |
| 796 | } |
| 797 | } |
| 798 | if( tmFlags & TIMELINE_COMPACT ){ |
| 799 | cgi_printf("<span class='clutter' id='detail-%d'>",rid); |
| 800 | } |
| 801 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -459,11 +459,11 @@ | |
| 459 | int commentColumn = 3; /* Column containing comment text */ |
| 460 | int modPending; /* Pending moderation */ |
| 461 | char *zDateLink; /* URL for the link on the timestamp */ |
| 462 | int drawDetailEllipsis; /* True to show ellipsis in place of detail */ |
| 463 | int gidx = 0; /* Graph row identifier */ |
| 464 | int omitCommentColor = 0; /* True to skip added color to comments */ |
| 465 | const char *zExtraClass = ""; |
| 466 | char zTime[20]; |
| 467 | |
| 468 | if( zDate==0 ){ |
| 469 | zDate = "YYYY-MM-DD HH:MM:SS"; /* Something wrong with the repo */ |
| @@ -532,14 +532,14 @@ | |
| 532 | zTime[0] = 0; |
| 533 | } |
| 534 | pendingEndTr = 1; |
| 535 | if( rid==pXtra->selectedRid ){ |
| 536 | @ <tr class="timelineSelected"> |
| 537 | omitCommentColor = 1; |
| 538 | }else if( rid==pXtra->secondRid ){ |
| 539 | @ <tr class="timelineSelected timelineSecondary"> |
| 540 | omitCommentColor = 1; |
| 541 | }else if( rid==vid ){ |
| 542 | @ <tr class="timelineCurrent"> |
| 543 | }else { |
| 544 | @ <tr> |
| 545 | } |
| @@ -658,14 +658,14 @@ | |
| 658 | gidx = graph_add_row(pGraph, rid, -1, 0, 0, zBr, zBgClr, zUuid, 0); |
| 659 | @ <div id="m%d(gidx)" class="tl-nodemark"></div> |
| 660 | } |
| 661 | fossil_free(zBr); |
| 662 | @</td> |
| 663 | if( omitCommentColor ){ |
| 664 | @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)"> |
| 665 | }else{ |
| 666 | @ <td class="timeline%s(zStyle)Cell%s(zExtraClass)" id='mc%d(gidx)'> |
| 667 | } |
| 668 | if( pGraph ){ |
| 669 | if( zType[0]=='e' ){ |
| 670 | @ <b>Note:</b> |
| 671 | }else if( zType[0]!='c' ){ |
| @@ -787,14 +787,14 @@ | |
| 787 | if( drawDetailEllipsis ){ |
| 788 | @ <span class='timelineEllipsis' id='ellipsis-%d(rid)' \ |
| 789 | @ data-id='%d(rid)'>...</span> |
| 790 | } |
| 791 | if( tmFlags & TIMELINE_COLUMNAR ){ |
| 792 | if( omitCommentColor ){ |
| 793 | @ <td class="timelineDetailCell%s(zExtraClass)"> |
| 794 | }else{ |
| 795 | @ <td class="timelineDetailCell%s(zExtraClass)" id='md%d(gidx)'> |
| 796 | } |
| 797 | } |
| 798 | if( tmFlags & TIMELINE_COMPACT ){ |
| 799 | cgi_printf("<span class='clutter' id='detail-%d'>",rid); |
| 800 | } |
| 801 |