Revision | 83 (tree) |
---|---|
Zeit | 2022-06-22 05:34:09 |
Autor | ![]() |
Corrigido o problema do não carregamento do comentário na tela de edição de comentários
Agora a tela de status (sem o blender) é exibida ao executar a função de login
@@ -119,7 +119,7 @@ | ||
119 | 119 | <VerInfo_MinorVer>0</VerInfo_MinorVer> |
120 | 120 | <VerInfo_Release>0</VerInfo_Release> |
121 | 121 | <VerInfo_Locale>1033</VerInfo_Locale> |
122 | - <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.837;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> | |
122 | + <VerInfo_Keys>CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.863;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName)</VerInfo_Keys> | |
123 | 123 | <Debugger_RunParams>/desenvolvimento</Debugger_RunParams> |
124 | 124 | <VerInfo_AutoGenVersion>false</VerInfo_AutoGenVersion> |
125 | 125 | <VerInfo_AutoIncVersion>true</VerInfo_AutoIncVersion> |
@@ -126,7 +126,7 @@ | ||
126 | 126 | <DCC_DebugInformation>2</DCC_DebugInformation> |
127 | 127 | <DCC_SymbolReferenceInfo>2</DCC_SymbolReferenceInfo> |
128 | 128 | <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> |
129 | - <VerInfo_Build>837</VerInfo_Build> | |
129 | + <VerInfo_Build>863</VerInfo_Build> | |
130 | 130 | <DCC_MapFile>3</DCC_MapFile> |
131 | 131 | </PropertyGroup> |
132 | 132 | <ItemGroup> |
@@ -29,9 +29,9 @@ | ||
29 | 29 | //: especiais de aprovação/reprovação de tarefas, apenas os cabeçalhos padrão de |
30 | 30 | //: comentários de acordo com a unidade do usuário |
31 | 31 | procedure AddCommentHeader(var AComment: String; AHeaderDescription: String = ''); |
32 | -function ShowStatusForm(AFormToBlock: TForm): TKRKFormBlender; | |
33 | -procedure HideStatusForm(AFormBlender: TKRKFormBlender); | |
34 | -procedure UpdateStatusForm(AFormBlender: TKRKFormBlender; ADescription: String); | |
32 | +function ShowStatusFormBlender(AFormToBlock: TForm): TKRKFormBlender; | |
33 | +procedure HideStatusFormBlender(AFormBlender: TKRKFormBlender); | |
34 | +procedure UpdateStatusFormBlender(AFormBlender: TKRKFormBlender; ADescription: String); | |
35 | 35 | |
36 | 36 | implementation |
37 | 37 |
@@ -1199,15 +1199,15 @@ | ||
1199 | 1199 | end; |
1200 | 1200 | end; |
1201 | 1201 | |
1202 | -function ShowStatusForm(AFormToBlock: TForm): TKRKFormBlender; | |
1202 | +function ShowStatusFormBlender(AFormToBlock: TForm): TKRKFormBlender; | |
1203 | 1203 | begin |
1204 | 1204 | if Assigned(AFormToBlock) then |
1205 | - TKRKFormBlender.ShowMe(AFormToBlock,TFORMStatus,Result) | |
1205 | + TKRKFormBlender.ShowMe(AFormToBlock,TFormStatus,Result) | |
1206 | 1206 | else |
1207 | 1207 | Result := nil; |
1208 | 1208 | end; |
1209 | 1209 | |
1210 | -procedure HideStatusForm(AFormBlender: TKRKFormBlender); | |
1210 | +procedure HideStatusFormBlender(AFormBlender: TKRKFormBlender); | |
1211 | 1211 | begin |
1212 | 1212 | if Assigned(AFormBlender) then |
1213 | 1213 | begin |
@@ -1216,7 +1216,7 @@ | ||
1216 | 1216 | end; |
1217 | 1217 | end; |
1218 | 1218 | |
1219 | -procedure UpdateStatusForm(AFormBlender: TKRKFormBlender; ADescription: String); | |
1219 | +procedure UpdateStatusFormBlender(AFormBlender: TKRKFormBlender; ADescription: String); | |
1220 | 1220 | begin |
1221 | 1221 | if Assigned(AFormBlender) then |
1222 | 1222 | begin |
@@ -33,36 +33,41 @@ | ||
33 | 33 | Req: TRequestOptions; |
34 | 34 | Res: TResponse; |
35 | 35 | begin |
36 | - ZeroMemory(@Req,SizeOf(TRequestOptions)); | |
37 | - ZeroMemory(@Res,SizeOf(TResponse)); | |
36 | +// FS: TFormStatus := TFormStatus.Create(Application); | |
37 | + try | |
38 | + ZeroMemory(@Req,SizeOf(TRequestOptions)); | |
39 | + ZeroMemory(@Res,SizeOf(TResponse)); | |
38 | 40 | |
39 | - Req.AutoClearSSLState := True; | |
41 | + Req.AutoClearSSLState := True; | |
40 | 42 | |
41 | - Req.InternetOpenParams.Agent := 'MantisBT Monitor'; | |
42 | - Req.InternetOpenParams.AccessType := INTERNET_OPEN_TYPE_PRECONFIG; | |
43 | - Req.InternetConnectParams.ServerName := PChar(Configurations.MantisBTBaseUrl + '/mantis/logout_page.php'); | |
44 | - Req.InternetConnectParams.Service := INTERNET_SERVICE_HTTP; | |
45 | - Req.InternetConnectParams.Context := AHandle; | |
43 | + Req.InternetOpenParams.Agent := 'MantisBT Monitor'; | |
44 | + Req.InternetOpenParams.AccessType := INTERNET_OPEN_TYPE_PRECONFIG; | |
45 | + Req.InternetConnectParams.ServerName := PChar(Configurations.MantisBTBaseUrl + '/mantis/logout_page.php'); | |
46 | + Req.InternetConnectParams.Service := INTERNET_SERVICE_HTTP; | |
47 | + Req.InternetConnectParams.Context := AHandle; | |
46 | 48 | |
47 | - Req.HttpOpenRequestParams.Verb := 'GET'; | |
48 | - Req.HttpOpenRequestParams.AcceptTypes := TStringList.Create; | |
49 | - try | |
50 | - Req.HttpOpenRequestParams.AcceptTypes.Add('*/*'); | |
51 | - Req.HttpOpenRequestParams.Context := AHandle; | |
52 | - Req.HttpOpenRequestParams.AutoDetectHTTPS := True; | |
53 | - Req.HttpOpenRequestParams.IgnoreInvalidCertificates := True; | |
54 | - Req.HttpSendRequestParams.IgnoreInvalidCertificateCA := True; | |
55 | - | |
56 | - Res.Content := TStringStream.Create('',TEncoding.UTF8); | |
49 | + Req.HttpOpenRequestParams.Verb := 'GET'; | |
50 | + Req.HttpOpenRequestParams.AcceptTypes := TStringList.Create; | |
57 | 51 | try |
58 | - Request(Req,Res); | |
52 | + Req.HttpOpenRequestParams.AcceptTypes.Add('*/*'); | |
53 | + Req.HttpOpenRequestParams.Context := AHandle; | |
54 | + Req.HttpOpenRequestParams.AutoDetectHTTPS := True; | |
55 | + Req.HttpOpenRequestParams.IgnoreInvalidCertificates := True; | |
56 | + Req.HttpSendRequestParams.IgnoreInvalidCertificateCA := True; | |
59 | 57 | |
60 | - Result := Pos('<form id="login-form"',TStringStream(Res.Content).DataString) > 0; | |
58 | + Res.Content := TStringStream.Create('',TEncoding.UTF8); | |
59 | + try | |
60 | + Request(Req,Res); | |
61 | + | |
62 | + Result := Pos('<form id="login-form"',TStringStream(Res.Content).DataString) > 0; | |
63 | + finally | |
64 | + Res.Content.Free; | |
65 | + end; | |
61 | 66 | finally |
62 | - Res.Content.Free; | |
67 | + Req.HttpOpenRequestParams.AcceptTypes.Free; | |
63 | 68 | end; |
64 | 69 | finally |
65 | - Req.HttpOpenRequestParams.AcceptTypes.Free; | |
70 | + | |
66 | 71 | end; |
67 | 72 | end; |
68 | 73 |
@@ -247,53 +252,64 @@ | ||
247 | 252 | Req: TRequestOptions; |
248 | 253 | Res: TResponse; |
249 | 254 | begin |
250 | - ZeroMemory(@Req,SizeOf(TRequestOptions)); | |
251 | - ZeroMemory(@Res,SizeOf(TResponse)); | |
252 | - ZeroMemory(@AUserInfo,SizeOf(TUserInfo)); | |
255 | + var FS: TFormStatus := TFormStatus.Create(Application); | |
256 | + try | |
257 | + FS.Position := poScreenCenter; | |
258 | + FS.LABE.Caption := 'Favor aguardar enquanto o MantisBT Monitor está fazendo login na sua conta do Mantis...'; | |
259 | + FS.Show; | |
260 | + FS.Update; | |
253 | 261 | |
254 | - Req.AutoClearSSLState := True; | |
262 | + ZeroMemory(@Req,SizeOf(TRequestOptions)); | |
263 | + ZeroMemory(@Res,SizeOf(TResponse)); | |
264 | + ZeroMemory(@AUserInfo,SizeOf(TUserInfo)); | |
255 | 265 | |
256 | - Req.Content := TStringStream.Create(Format('return=index.php&username=%s&password=%s&perm_login=on',[AUserName,APassword])); | |
257 | - try | |
258 | - Req.InternetOpenParams.Agent := 'MantisBT Monitor'; | |
259 | - Req.InternetOpenParams.AccessType := INTERNET_OPEN_TYPE_PRECONFIG; | |
260 | - Req.InternetConnectParams.ServerName := PChar(Configurations.MantisBTBaseUrl + '/mantis/login.php'); | |
261 | - Req.InternetConnectParams.Service := INTERNET_SERVICE_HTTP; | |
262 | - Req.InternetConnectParams.Context := AHandle; | |
266 | + Req.AutoClearSSLState := True; | |
263 | 267 | |
264 | - Req.HttpOpenRequestParams.Verb := 'POST'; | |
265 | - Req.HttpOpenRequestParams.AcceptTypes := TStringList.Create; | |
268 | + Req.Content := TStringStream.Create(Format('return=index.php&username=%s&password=%s&perm_login=on',[AUserName,APassword])); | |
266 | 269 | try |
267 | - Req.HttpOpenRequestParams.AcceptTypes.Add('*/*'); | |
268 | - Req.HttpOpenRequestParams.Context := AHandle; | |
269 | - Req.HttpOpenRequestParams.AutoDetectHTTPS := True; | |
270 | - Req.HttpOpenRequestParams.IgnoreInvalidCertificates := True; | |
271 | - Req.HttpOpenRequestParams.Headers := TStringList.Create; | |
270 | + Req.InternetOpenParams.Agent := 'MantisBT Monitor'; | |
271 | + Req.InternetOpenParams.AccessType := INTERNET_OPEN_TYPE_PRECONFIG; | |
272 | + Req.InternetConnectParams.ServerName := PChar(Configurations.MantisBTBaseUrl + '/mantis/login.php'); | |
273 | + Req.InternetConnectParams.Service := INTERNET_SERVICE_HTTP; | |
274 | + Req.InternetConnectParams.Context := AHandle; | |
275 | + | |
276 | + Req.HttpOpenRequestParams.Verb := 'POST'; | |
277 | + Req.HttpOpenRequestParams.AcceptTypes := TStringList.Create; | |
272 | 278 | try |
273 | - Req.HttpOpenRequestParams.Headers.Add('Content-Type: application/x-www-form-urlencoded'); | |
274 | - Req.HttpSendRequestParams.IgnoreInvalidCertificateCA := True; | |
275 | - | |
276 | - Res.Content := TStringStream.Create('',TEncoding.UTF8); | |
279 | + Req.HttpOpenRequestParams.AcceptTypes.Add('*/*'); | |
280 | + Req.HttpOpenRequestParams.Context := AHandle; | |
281 | + Req.HttpOpenRequestParams.AutoDetectHTTPS := True; | |
282 | + Req.HttpOpenRequestParams.IgnoreInvalidCertificates := True; | |
283 | + Req.HttpOpenRequestParams.Headers := TStringList.Create; | |
277 | 284 | try |
278 | - Request(Req,Res); | |
285 | + Req.HttpOpenRequestParams.Headers.Add('Content-Type: application/x-www-form-urlencoded'); | |
286 | + Req.HttpSendRequestParams.IgnoreInvalidCertificateCA := True; | |
279 | 287 | |
280 | - Result := RegExMatch(TStringStream(Res.Content).DataString | |
281 | - ,'<a href="\/mantis\/account_page\.php">\s*([a-z]+)\s*\(\s*([^ ][\w\W ]+[^ ])\s*\)\s*<\/a>' | |
282 | - ,False | |
283 | - ,[]); | |
284 | - if Result then | |
285 | - Result := GetUserInfo(AHandle,AUserInfo); | |
288 | + Res.Content := TStringStream.Create('',TEncoding.UTF8); | |
289 | + try | |
290 | + Request(Req,Res); | |
291 | + | |
292 | + Result := RegExMatch(TStringStream(Res.Content).DataString | |
293 | + ,'<a href="\/mantis\/account_page\.php">\s*([a-z]+)\s*\(\s*([^ ][\w\W ]+[^ ])\s*\)\s*<\/a>' | |
294 | + ,False | |
295 | + ,[]); | |
296 | + if Result then | |
297 | + Result := GetUserInfo(AHandle,AUserInfo); | |
298 | + finally | |
299 | + Res.Content.Free; | |
300 | + end; | |
286 | 301 | finally |
287 | - Res.Content.Free; | |
302 | + Req.HttpOpenRequestParams.Headers.Free; | |
288 | 303 | end; |
289 | 304 | finally |
290 | - Req.HttpOpenRequestParams.Headers.Free; | |
305 | + Req.HttpOpenRequestParams.AcceptTypes.Free; | |
291 | 306 | end; |
292 | 307 | finally |
293 | - Req.HttpOpenRequestParams.AcceptTypes.Free; | |
308 | + Req.Content.Free; | |
294 | 309 | end; |
295 | 310 | finally |
296 | - Req.Content.Free; | |
311 | + FS.Close; | |
312 | + FS.Free; | |
297 | 313 | end; |
298 | 314 | end; |
299 | 315 |
@@ -305,9 +321,9 @@ | ||
305 | 321 | HTMLDocument: IHTMLDocument; |
306 | 322 | HTMLElement: IHTMLElement; |
307 | 323 | begin |
308 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
324 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
309 | 325 | try |
310 | - UpdateStatusForm(FB,'Por favor aguarde enquanto o comentário está sendo atualizado...'); | |
326 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto o comentário está sendo atualizado...'); | |
311 | 327 | |
312 | 328 | ZeroMemory(@Req,SizeOf(TRequestOptions)); |
313 | 329 | ZeroMemory(@Res,SizeOf(TResponse)); |
@@ -380,7 +396,7 @@ | ||
380 | 396 | Req.Content.Free; |
381 | 397 | end; |
382 | 398 | finally |
383 | - HideStatusForm(FB); | |
399 | + HideStatusFormBlender(FB); | |
384 | 400 | end; |
385 | 401 | end; |
386 | 402 | {$WARN SYMBOL_PLATFORM ON} |
@@ -1377,9 +1393,9 @@ | ||
1377 | 1393 | Req: TRequestOptions; |
1378 | 1394 | Res: TResponse; |
1379 | 1395 | begin |
1380 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
1396 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
1381 | 1397 | try |
1382 | - UpdateStatusForm(FB,'Por favor aguarde enquanto os detalhes da tarefa são obtidos...'); | |
1398 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto os detalhes da tarefa são obtidos...'); | |
1383 | 1399 | |
1384 | 1400 | ZeroMemory(@Req,SizeOf(TRequestOptions)); |
1385 | 1401 | ZeroMemory(@Res,SizeOf(TResponse)); |
@@ -1413,7 +1429,7 @@ | ||
1413 | 1429 | Req.HttpOpenRequestParams.AcceptTypes.Free; |
1414 | 1430 | end; |
1415 | 1431 | finally |
1416 | - HideStatusForm(FB); | |
1432 | + HideStatusFormBlender(FB); | |
1417 | 1433 | end; |
1418 | 1434 | end; |
1419 | 1435 |
@@ -1519,9 +1535,9 @@ | ||
1519 | 1535 | Req: TRequestOptions; |
1520 | 1536 | Res: TResponse; |
1521 | 1537 | begin |
1522 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
1538 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
1523 | 1539 | try |
1524 | - UpdateStatusForm(FB,'Por favor aguarde enquanto todas as suas tarefas são obtidas...'); | |
1540 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto todas as suas tarefas são obtidas...'); | |
1525 | 1541 | |
1526 | 1542 | ZeroMemory(@Req,SizeOf(TRequestOptions)); |
1527 | 1543 | ZeroMemory(@Res,SizeOf(TResponse)); |
@@ -1555,7 +1571,7 @@ | ||
1555 | 1571 | Req.HttpOpenRequestParams.AcceptTypes.Free; |
1556 | 1572 | end; |
1557 | 1573 | finally |
1558 | - HideStatusForm(FB); | |
1574 | + HideStatusFormBlender(FB); | |
1559 | 1575 | end; |
1560 | 1576 | end; |
1561 | 1577 |
@@ -1564,9 +1580,9 @@ | ||
1564 | 1580 | Req: TRequestOptions; |
1565 | 1581 | Res: TResponse; |
1566 | 1582 | begin |
1567 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
1583 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
1568 | 1584 | try |
1569 | - UpdateStatusForm(FB,'Por favor aguarde enquanto os dados do anexo são obtidos...'); | |
1585 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto os dados do anexo são obtidos...'); | |
1570 | 1586 | |
1571 | 1587 | ZeroMemory(@Req,SizeOf(TRequestOptions)); |
1572 | 1588 | ZeroMemory(@Res,SizeOf(TResponse)); |
@@ -1603,7 +1619,7 @@ | ||
1603 | 1619 | Req.HttpOpenRequestParams.AcceptTypes.Free; |
1604 | 1620 | end; |
1605 | 1621 | finally |
1606 | - HideStatusForm(FB); | |
1622 | + HideStatusFormBlender(FB); | |
1607 | 1623 | end; |
1608 | 1624 | end; |
1609 | 1625 |
@@ -1614,9 +1630,9 @@ | ||
1614 | 1630 | Res: TResponse; |
1615 | 1631 | HTMLDocument: IHTMLdocument; |
1616 | 1632 | begin |
1617 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
1633 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
1618 | 1634 | try |
1619 | - UpdateStatusForm(FB,'Por favor aguarde enquanto o comentário está sendo obtido...'); | |
1635 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto o comentário está sendo obtido...'); | |
1620 | 1636 | |
1621 | 1637 | ZeroMemory(@Req,SizeOf(TRequestOptions)); |
1622 | 1638 | ZeroMemory(@Res,SizeOf(TResponse)); |
@@ -1670,7 +1686,7 @@ | ||
1670 | 1686 | Req.HttpOpenRequestParams.AcceptTypes.Free; |
1671 | 1687 | end; |
1672 | 1688 | finally |
1673 | - HideStatusForm(FB); | |
1689 | + HideStatusFormBlender(FB); | |
1674 | 1690 | end; |
1675 | 1691 | end; |
1676 | 1692 | {$WARN SYMBOL_PLATFORM ON} |
@@ -1872,10 +1888,10 @@ | ||
1872 | 1888 | |
1873 | 1889 | Req.AutoClearSSLState := True; |
1874 | 1890 | |
1875 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
1891 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
1876 | 1892 | Req.Content := TMemoryStream.Create; |
1877 | 1893 | try |
1878 | - UpdateStatusForm(FB,'Por favor aguarde enquanto o comentário está sendo salvo...'); | |
1894 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto o comentário está sendo salvo...'); | |
1879 | 1895 | // Adiciona o cabeçalho padrão de acordo com as configurações atuais, caso |
1880 | 1896 | // já não exista um cabeçalho |
1881 | 1897 | AddCommentHeader(AComment,ACommentHeaderDescription); |
@@ -1933,7 +1949,7 @@ | ||
1933 | 1949 | end; |
1934 | 1950 | finally |
1935 | 1951 | Req.Content.Free; |
1936 | - HideStatusForm(FB); | |
1952 | + HideStatusFormBlender(FB); | |
1937 | 1953 | end; |
1938 | 1954 | end; |
1939 | 1955 |
@@ -2066,9 +2082,9 @@ | ||
2066 | 2082 | LastUpdated: String; |
2067 | 2083 | NewStatusId: Word; |
2068 | 2084 | begin |
2069 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
2085 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
2070 | 2086 | try |
2071 | - UpdateStatusForm(FB,'Por favor aguarde enquanto a situação da tarefa é alterada...'); | |
2087 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto a situação da tarefa é alterada...'); | |
2072 | 2088 | |
2073 | 2089 | NewStatusId := Configurations.MantisConfigs.StatusByName[ANewStatus].Id; |
2074 | 2090 |
@@ -2141,7 +2157,7 @@ | ||
2141 | 2157 | end; |
2142 | 2158 | end; |
2143 | 2159 | finally |
2144 | - HideStatusForm(FB); | |
2160 | + HideStatusFormBlender(FB); | |
2145 | 2161 | end; |
2146 | 2162 | end; |
2147 | 2163 |
@@ -2194,13 +2210,13 @@ | ||
2194 | 2210 | |
2195 | 2211 | Req.AutoClearSSLState := True; |
2196 | 2212 | |
2197 | - var FB: TKRKFormBlender := ShowStatusForm(AFormToBlock); | |
2213 | + var FB: TKRKFormBlender := ShowStatusFormBlender(AFormToBlock); | |
2198 | 2214 | Req.Content := TMemoryStream.Create; |
2199 | 2215 | try |
2200 | 2216 | if AHomologation then |
2201 | - UpdateStatusForm(FB,'Por favor aguarde enquanto a tarefa está sendo enviada para Homologação...') | |
2217 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto a tarefa está sendo enviada para Homologação...') | |
2202 | 2218 | else |
2203 | - UpdateStatusForm(FB,'Por favor aguarde enquanto a tarefa está sendo enviada para Testes...'); | |
2219 | + UpdateStatusFormBlender(FB,'Por favor aguarde enquanto a tarefa está sendo enviada para Testes...'); | |
2204 | 2220 | |
2205 | 2221 | AddTextMultiPartFormData(TMemoryStream(Req.Content),'form-data','bug_update_token',RawByteString(ATask.AssignToToken),BOUNDARY); |
2206 | 2222 | AddTextMultiPartFormData(TMemoryStream(Req.Content),'form-data','last_updated',RawByteString(ATask.AssignToLastUpdated),BOUNDARY); |
@@ -2254,7 +2270,7 @@ | ||
2254 | 2270 | end; |
2255 | 2271 | finally |
2256 | 2272 | Req.Content.Free; |
2257 | - HideStatusForm(FB); | |
2273 | + HideStatusFormBlender(FB); | |
2258 | 2274 | end; |
2259 | 2275 | end; |
2260 | 2276 |
@@ -7,7 +7,7 @@ | ||
7 | 7 | Dialogs, UFormBasicDialog, StdCtrls, Buttons, UPngBitBtn, ExtCtrls, PngImage, |
8 | 8 | KRK.Internet.Edge, Winapi.ActiveX, Vcl.ComCtrls, UInterposersAndHelpers, |
9 | 9 | System.ImageList, Vcl.ImgList, Vcl.Menus, Vcl.ActnPopup, Vcl.XPStyleActnCtrls, |
10 | - UTypes, UDamoTask; | |
10 | + UTypes, UDamoTask, KRK.Vcl.Forms.FormBlender; | |
11 | 11 | |
12 | 12 | type |
13 | 13 | TSpecialMode = (None,Reject,Impede,Execute,SendToTest,SendToHomologation); |
@@ -45,6 +45,7 @@ | ||
45 | 45 | FAttachmentsOnly: Boolean; |
46 | 46 | FPostContent: TStringStream; |
47 | 47 | FSpecialMode: TSpecialMode; |
48 | + FFB: TKRKFormBlender; | |
48 | 49 | |
49 | 50 | procedure DoDropFiles(ASender: TObject; const ADropHandle: LRESULT; out AMessageResult: LRESULT); |
50 | 51 | procedure ConfigureCommentsPage; |
@@ -51,6 +52,8 @@ | ||
51 | 52 | procedure ConfigureAttachmentsPage; |
52 | 53 | procedure AddAttachment(AFileName: String; AFileSize: Cardinal); |
53 | 54 | function AttachmentsTabIsVisible: Boolean; |
55 | + procedure LoadTinyMCE; | |
56 | + procedure HandleTimerMessage(var AMsg: TWMTimer); message WM_TIMER; | |
54 | 57 | protected |
55 | 58 | procedure ValidateSave; override; |
56 | 59 | public |
@@ -195,13 +198,15 @@ | ||
195 | 198 | procedure TFormManageNote.EDBRCreateWebViewCompleted(Sender: TCustomEdgeBrowser; AResult: HRESULT); |
196 | 199 | begin |
197 | 200 | inherited; |
198 | - // Adiciona um filtro que, se satisfeito, executa o evento | |
199 | - // OnWebResourceRequested, no qual podemos alterar várias propriedades da | |
200 | - // requisição que está sendo feita, como o método (POST ou GET), cabeçalhos e | |
201 | - // conteúdo da requisição (requerido pelo método POST) | |
202 | - EDBR.AddWebResourceRequestedFilter('*MantisBTMonitorTinyMCEEditor.php',COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL); | |
203 | - | |
204 | - EDBR.Navigate(Configurations.MantisBTBaseUrl + '/mantis/mbtm/MantisBTMonitorTinyMCEEditor.php'); | |
201 | + FFB := ShowStatusFormBlender(Self); | |
202 | + UpdateStatusFormBlender(FFB,'Por favor aguarde enquanto o editor está sendo carregado...'); | |
203 | + // Posterga por 2 segundos a obtenção do TinyMCE preenchido com o comentário. | |
204 | + // Isso é necessário porque o evento atual ocorre dentro do OnShow, mas em um | |
205 | + // momento que não é propício para a obtenção do TinyMCE, que ora carregava | |
206 | + // com o conteúdo, ora não. Postergando esse carregamento de forma assíncrona, | |
207 | + // faz com que o TinyMCE seja obtido APÓS a tela ter sido completamente | |
208 | + // carregada, evitando assim o problema | |
209 | + SetTimer(Self.Handle,1,2000,nil); | |
205 | 210 | end; |
206 | 211 | |
207 | 212 | procedure TFormManageNote.EDBRExecuteScript(Sender: TCustomEdgeBrowser; AResult: HRESULT; const AResultObjectAsJson: string); |
@@ -279,6 +284,15 @@ | ||
279 | 284 | ConfigureCommentsPage; |
280 | 285 | end; |
281 | 286 | |
287 | +procedure TFormManageNote.HandleTimerMessage(var AMsg: TWMTimer); | |
288 | +begin | |
289 | + // Só existe um timer na janela atual, portanto não precisamos checar | |
290 | + // AMsg.TimerID, basta apenas matá-lo imediatamente | |
291 | + KillTimer(Self.Handle,AMsg.TimerID); | |
292 | + LoadTinyMCE; | |
293 | + HideStatusFormBlender(FFB); | |
294 | +end; | |
295 | + | |
282 | 296 | procedure TFormManageNote.LIVIAttachmentsChange(Sender: TObject; Item: TListItem; Change: TItemChange); |
283 | 297 | begin |
284 | 298 | inherited; |
@@ -303,6 +317,16 @@ | ||
303 | 317 | end; |
304 | 318 | end; |
305 | 319 | |
320 | +procedure TFormManageNote.LoadTinyMCE; | |
321 | +begin | |
322 | + // Adiciona um filtro que, se satisfeito, executa o evento | |
323 | + // OnWebResourceRequested, no qual podemos alterar várias propriedades da | |
324 | + // requisição que está sendo feita, como o método (POST ou GET), cabeçalhos e | |
325 | + // conteúdo da requisição (requerido pelo método POST) | |
326 | + EDBR.AddWebResourceRequestedFilter('*MantisBTMonitorTinyMCEEditor.php',COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL); | |
327 | + EDBR.Navigate(Configurations.MantisBTBaseUrl + '/mantis/mbtm/MantisBTMonitorTinyMCEEditor.php'); | |
328 | +end; | |
329 | + | |
306 | 330 | class function TFormManageNote.ShowMeModal(ADamoTask: TDamoTask; ASpecialMode: TSpecialMode; ATaskId: Cardinal; out AComment: String; out APrivate: Boolean; out AAttachments: TArray<String>): TModalResult; |
307 | 331 | begin |
308 | 332 | with Self.Create(ADamoTask.Owner) do |