| | @@ -1127,12 +1127,30 @@ |
| 1127 | 1127 | int rid; |
| 1128 | 1128 | const char *zComment; |
| 1129 | 1129 | const char *zNewComment; |
| 1130 | 1130 | const char *zUser; |
| 1131 | 1131 | const char *zNewUser; |
| 1132 | + const char *zColor; |
| 1133 | + const char *zNewColor; |
| 1134 | + int fPropagateColor; |
| 1132 | 1135 | char *zUuid; |
| 1133 | 1136 | Blob comment; |
| 1137 | + static const struct SampleColors { |
| 1138 | + const char *zCName; |
| 1139 | + const char *zColor; |
| 1140 | + } aColor[] = { |
| 1141 | + { "(none)", "" }, |
| 1142 | + { "#c0ffc0", "#c0ffc0" }, |
| 1143 | + { "#c0fff0", "#c0fff0" }, |
| 1144 | + { "#c0f0ff", "#c0f0ff" }, |
| 1145 | + { "#d0c0ff", "#d0c0ff" }, |
| 1146 | + { "#ffc0ff", "#ffc0ff" }, |
| 1147 | + { "#ffc0d0", "#ffc0d0" }, |
| 1148 | + { "#fff0c0", "#fff0c0" }, |
| 1149 | + { "#f0ffc0", "#f0ffc0" }, |
| 1150 | + }; |
| 1151 | + int i; |
| 1134 | 1152 | |
| 1135 | 1153 | login_check_credentials(); |
| 1136 | 1154 | if( !g.okWrite ){ login_needed(); return; } |
| 1137 | 1155 | rid = atoi(PD("r","0")); |
| 1138 | 1156 | zComment = db_text(0, "SELECT coalesce(ecomment,comment)" |
| | @@ -1141,10 +1159,14 @@ |
| 1141 | 1159 | zNewComment = PD("c",zComment); |
| 1142 | 1160 | zUser = db_text(0, "SELECT coalesce(euser,user)" |
| 1143 | 1161 | " FROM event WHERE objid=%d", rid); |
| 1144 | 1162 | if( zUser==0 ) fossil_redirect_home(); |
| 1145 | 1163 | zNewUser = PD("u",zUser); |
| 1164 | + zColor = db_text("", "SELECT bgcolor" |
| 1165 | + " FROM event WHERE objid=%d", rid); |
| 1166 | + zNewColor = PD("clr",zColor); |
| 1167 | + fPropagateColor = P("pclr")!=0; |
| 1146 | 1168 | zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); |
| 1147 | 1169 | if( P("cancel") ){ |
| 1148 | 1170 | cgi_redirectf("vinfo?name=%d", rid); |
| 1149 | 1171 | } |
| 1150 | 1172 | if( P("apply") ){ |
| | @@ -1155,18 +1177,30 @@ |
| 1155 | 1177 | login_verify_csrf_secret(); |
| 1156 | 1178 | blob_zero(&ctrl); |
| 1157 | 1179 | zDate = db_text(0, "SELECT datetime('now')"); |
| 1158 | 1180 | zDate[10] = 'T'; |
| 1159 | 1181 | blob_appendf(&ctrl, "D %s\n", zDate); |
| 1182 | + if( zNewColor[0] && strcmp(zColor,zNewColor)!=0 ){ |
| 1183 | + nChng++; |
| 1184 | + if( fPropagateColor ){ |
| 1185 | + blob_appendf(&ctrl, "T *bgcolor %s %F\n", zUuid, zNewColor); |
| 1186 | + }else{ |
| 1187 | + blob_appendf(&ctrl, "T +bgcolor %s %F\n", zUuid, zNewColor); |
| 1188 | + } |
| 1189 | + } |
| 1160 | 1190 | if( strcmp(zComment,zNewComment)!=0 ){ |
| 1161 | 1191 | nChng++; |
| 1162 | 1192 | blob_appendf(&ctrl, "T +comment %s %F\n", zUuid, zNewComment); |
| 1163 | 1193 | } |
| 1164 | 1194 | if( strcmp(zUser,zNewUser)!=0 ){ |
| 1165 | 1195 | nChng++; |
| 1166 | 1196 | blob_appendf(&ctrl, "T +user %s %F\n", zUuid, zNewUser); |
| 1167 | 1197 | } |
| 1198 | + if( zNewColor[0]==0 && zColor[0]!=0 ){ |
| 1199 | + nChng++; |
| 1200 | + blob_appendf(&ctrl, "T -bgcolor %s\n", zUuid); |
| 1201 | + } |
| 1168 | 1202 | if( nChng>0 ){ |
| 1169 | 1203 | int nrid; |
| 1170 | 1204 | Blob cksum; |
| 1171 | 1205 | blob_appendf(&ctrl, "U %F\n", g.zLogin); |
| 1172 | 1206 | md5sum_blob(&ctrl, &cksum); |
| | @@ -1180,25 +1214,73 @@ |
| 1180 | 1214 | } |
| 1181 | 1215 | blob_zero(&comment); |
| 1182 | 1216 | blob_append(&comment, zNewComment, -1); |
| 1183 | 1217 | zUuid[10] = 0; |
| 1184 | 1218 | style_header("Edit Baseline [%s]", zUuid); |
| 1185 | | - @ <p>Make changes to the User and Comment for baseline |
| 1186 | | - @ [<a href="vinfo?name=%d(rid)">%s(zUuid)</a>] then press the |
| 1187 | | - @ "Apply Changes" button.</p> |
| 1219 | + if( P("preview") ){ |
| 1220 | + @ <b>Preview:</b> |
| 1221 | + @ <blockquote> |
| 1222 | + @ <table border=0> |
| 1223 | + if( zNewColor && zNewColor[0] ){ |
| 1224 | + @ <tr><td bgcolor="%h(zNewColor)"> |
| 1225 | + }else{ |
| 1226 | + @ <tr><td> |
| 1227 | + } |
| 1228 | + wiki_convert(&comment, 0, WIKI_INLINE); |
| 1229 | + @ (user: %h(zNewUser)) |
| 1230 | + @ </td></tr></table> |
| 1231 | + @ </blockquote> |
| 1232 | + @ <hr> |
| 1233 | + } |
| 1234 | + @ <p>Make changes to attributes of check-in |
| 1235 | + @ [<a href="vinfo?name=%d(rid)">%s(zUuid)</a>]:</p> |
| 1188 | 1236 | @ <form action="%s(g.zBaseURL)/vedit" method="POST"> |
| 1189 | 1237 | login_insert_csrf_secret(); |
| 1190 | 1238 | @ <input type="hidden" name="r" value="%d(rid)"> |
| 1191 | | - @ <p> |
| 1192 | | - @ <b>User:</b> <input type="text" name="u" size="20" value="%h(zNewUser)"> |
| 1193 | | - @ </p> |
| 1194 | | - @ <p><b>Comment:</b></b><br /> |
| 1195 | | - wiki_convert(&comment, 0, WIKI_INLINE); |
| 1196 | | - @ <br /><textarea name="c" rows="10" cols="80">%h(zNewComment)</textarea></p> |
| 1197 | | - @ <blockquote> |
| 1239 | + @ <table border="0" cellspacing="10"> |
| 1240 | + |
| 1241 | + @ <tr><td align="right" valign="top"><b>User:</b></td> |
| 1242 | + @ <td valign="top"> |
| 1243 | + @ <input type="text" name="u" size="20" value="%h(zNewUser)"> |
| 1244 | + @ </td></tr> |
| 1245 | + |
| 1246 | + @ <tr><td align="right" valign="top"><b>Comment:</b></td> |
| 1247 | + @ <td valign="top"> |
| 1248 | + @ <textarea name="c" rows="10" cols="80">%h(zNewComment)</textarea> |
| 1249 | + @ </td></tr> |
| 1250 | + |
| 1251 | + @ <tr><td align="right" valign="top"><b>Background Color:</b></td> |
| 1252 | + @ <td valign="top"> |
| 1253 | + @ <table border=0 cellpadding=0 cellspacing=1> |
| 1254 | + @ <tr> |
| 1255 | + for(i=0; i<sizeof(aColor)/sizeof(aColor[0]); i++){ |
| 1256 | + if( aColor[i].zColor[0] ){ |
| 1257 | + @ <td bgcolor="%h(aColor[i].zColor)"> |
| 1258 | + }else{ |
| 1259 | + @ <td> |
| 1260 | + } |
| 1261 | + if( strcmp(zNewColor, aColor[i].zColor)==0 ){ |
| 1262 | + @ <input type="radio" name="clr" value="%h(aColor[i].zColor)" checked> |
| 1263 | + }else{ |
| 1264 | + @ <input type="radio" name="clr" value="%h(aColor[i].zColor)"> |
| 1265 | + } |
| 1266 | + @ %h(aColor[i].zCName)</input></td> |
| 1267 | + } |
| 1268 | + @ </tr><tr><td colspan="9" align="left"> |
| 1269 | + if( fPropagateColor ){ |
| 1270 | + @ <input type="checkbox" name="pclr" checked> |
| 1271 | + }else{ |
| 1272 | + @ <input type="checkbox" name="pclr"> |
| 1273 | + } |
| 1274 | + @ Propagate color to descendants</input></td></tr> |
| 1275 | + @ </table> |
| 1276 | + @ </td></tr> |
| 1277 | + |
| 1278 | + @ <tr><td colspan="2"> |
| 1198 | 1279 | @ <input type="submit" name="preview" value="Preview"> |
| 1199 | 1280 | @ <input type="submit" name="apply" value="Apply Changes"> |
| 1200 | 1281 | @ <input type="submit" name="cancel" value="Cancel"> |
| 1201 | | - @ </blockquote> |
| 1282 | + @ </td></tr> |
| 1283 | + @ </table> |
| 1202 | 1284 | @ </form> |
| 1203 | 1285 | style_footer(); |
| 1204 | 1286 | } |
| 1205 | 1287 | |