docs: #275 adding rejection cause for photos/speclines to UI
This commit is contained in:
parent
c07d46e12d
commit
77094b5730
@ -73,6 +73,12 @@ else
|
||||
</td>
|
||||
<td>
|
||||
<table style="width:100%" class="noborder">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">علت رد: </span>
|
||||
<input asp-for="Suggestion.RejectionCause" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type="submit" name="reject" id="reject" style="width:100%;color:white;background-color:darkred">رد</button>
|
||||
|
||||
@ -149,10 +149,10 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
}
|
||||
else
|
||||
{
|
||||
var deleteResponse = await secureClient.DeleteAsync($"{APIRoot.Url}/api/poetphotos/{Suggestion.Id}");
|
||||
if (!deleteResponse.IsSuccessStatusCode)
|
||||
var rejectResponse = await secureClient.PutAsync($"{APIRoot.Url}/api/poetphotos/reject/{Suggestion.Id}", new StringContent(JsonConvert.SerializeObject(Suggestion.RejectionCause), Encoding.UTF8, "application/json"));
|
||||
if (!rejectResponse.IsSuccessStatusCode)
|
||||
{
|
||||
LastError = JsonConvert.DeserializeObject<string>(await deleteResponse.Content.ReadAsStringAsync());
|
||||
LastError = JsonConvert.DeserializeObject<string>(await rejectResponse.Content.ReadAsStringAsync());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -51,6 +51,12 @@ else
|
||||
</td>
|
||||
<td>
|
||||
<table style="width:100%" class="noborder">
|
||||
<tr>
|
||||
<td>
|
||||
<span class="inputlabel">علت رد: </span>
|
||||
<input asp-for="Suggestion.RejectionCause" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<button type="submit" name="reject" id="reject" style="width:100%;color:white;background-color:darkred">رد</button>
|
||||
|
||||
@ -149,10 +149,10 @@ namespace GanjooRazor.Areas.User.Pages
|
||||
}
|
||||
else
|
||||
{
|
||||
var deleteResponse = await secureClient.DeleteAsync($"{APIRoot.Url}/api/poetspecs/{Suggestion.Id}");
|
||||
if (!deleteResponse.IsSuccessStatusCode)
|
||||
var rejectionResponse = await secureClient.PutAsync($"{APIRoot.Url}/api/poetspecs/reject/{Suggestion.Id}", new StringContent(JsonConvert.SerializeObject(Suggestion.RejectionCause), Encoding.UTF8, "application/json"));
|
||||
if (!rejectionResponse.IsSuccessStatusCode)
|
||||
{
|
||||
LastError = JsonConvert.DeserializeObject<string>(await deleteResponse.Content.ReadAsStringAsync());
|
||||
LastError = JsonConvert.DeserializeObject<string>(await rejectionResponse.Content.ReadAsStringAsync());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -57,8 +57,8 @@ namespace GanjooRazor.Pages
|
||||
{
|
||||
LoggedIn = !string.IsNullOrEmpty(Request.Cookies["Token"]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(Request.Query["p"]))
|
||||
{
|
||||
var response = await _httpClient.GetAsync($"{APIRoot.Url}/api/ganjoor/poet?url=/{Request.Query["p"]}");
|
||||
@ -111,47 +111,50 @@ namespace GanjooRazor.Pages
|
||||
public async Task<ActionResult> OnPostSuggestAsync(int poetId, string contents)
|
||||
{
|
||||
string error = "";
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
if (string.IsNullOrEmpty(contents))
|
||||
error = "متن خالی است.";
|
||||
else
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
var response = await secureClient.PostAsync($"{APIRoot.Url}/api/poetspecs",
|
||||
new StringContent(
|
||||
JsonConvert.SerializeObject
|
||||
(
|
||||
new GanjoorPoetSuggestedSpecLineViewModel()
|
||||
{
|
||||
PoetId = poetId,
|
||||
Contents = contents,
|
||||
}
|
||||
),
|
||||
Encoding.UTF8, "application/json")
|
||||
);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
var line = JsonConvert.DeserializeObject<GanjoorPoetSuggestedSpecLineViewModel>(await response.Content.ReadAsStringAsync());
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_PoetSpecLinePartial",
|
||||
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
|
||||
{
|
||||
Model = new _PoetSpecLinePartialModel()
|
||||
var response = await secureClient.PostAsync($"{APIRoot.Url}/api/poetspecs",
|
||||
new StringContent(
|
||||
JsonConvert.SerializeObject
|
||||
(
|
||||
new GanjoorPoetSuggestedSpecLineViewModel()
|
||||
{
|
||||
Line = line
|
||||
PoetId = poetId,
|
||||
Contents = contents,
|
||||
}
|
||||
}
|
||||
};
|
||||
),
|
||||
Encoding.UTF8, "application/json")
|
||||
);
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
var line = JsonConvert.DeserializeObject<GanjoorPoetSuggestedSpecLineViewModel>(await response.Content.ReadAsStringAsync());
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_PoetSpecLinePartial",
|
||||
ViewData = new ViewDataDictionary(new EmptyModelMetadataProvider(), new ModelStateDictionary())
|
||||
{
|
||||
Model = new _PoetSpecLinePartialModel()
|
||||
{
|
||||
Line = line
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
error = JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error = JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync());
|
||||
error = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
error = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
|
||||
}
|
||||
}
|
||||
return new PartialViewResult()
|
||||
{
|
||||
ViewName = "_PoetSpecLinePartial",
|
||||
@ -171,43 +174,52 @@ namespace GanjooRazor.Pages
|
||||
|
||||
public async Task<IActionResult> OnPostAsync(PoetPhotoSuggestionUploadModel Upload)
|
||||
{
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
if (string.IsNullOrEmpty(Upload.Title))
|
||||
LastError = "عنوان خالی است.";
|
||||
else
|
||||
if (string.IsNullOrEmpty(Upload.Description))
|
||||
LastError = "توضیح خالی است.";
|
||||
else
|
||||
if (Upload.Image == null)
|
||||
LastError = "تصویر انتخاب نشده است.";
|
||||
else
|
||||
using (HttpClient secureClient = new HttpClient())
|
||||
{
|
||||
MultipartFormDataContent form = new MultipartFormDataContent();
|
||||
|
||||
using (MemoryStream stream = new MemoryStream())
|
||||
if (await GanjoorSessionChecker.PrepareClient(secureClient, Request, Response))
|
||||
{
|
||||
form.Add(new StringContent(Upload.PoetId.ToString()), "poetId");
|
||||
form.Add(new StringContent(Upload.Title), "title");
|
||||
form.Add(new StringContent(Upload.Description), "description");
|
||||
form.Add(new StringContent(""), "srcUrl");
|
||||
MultipartFormDataContent form = new MultipartFormDataContent();
|
||||
|
||||
|
||||
await Upload.Image.CopyToAsync(stream);
|
||||
var fileContent = stream.ToArray();
|
||||
form.Add(new ByteArrayContent(fileContent, 0, fileContent.Length), Upload.Image.FileName, Upload.Image.FileName);
|
||||
|
||||
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/poetphotos", form);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
using (MemoryStream stream = new MemoryStream())
|
||||
{
|
||||
LastError = JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
else
|
||||
{
|
||||
UploadedPhoto = JsonConvert.DeserializeObject<GanjoorPoetSuggestedPictureViewModel>(await response.Content.ReadAsStringAsync());
|
||||
form.Add(new StringContent(Upload.PoetId.ToString()), "poetId");
|
||||
form.Add(new StringContent(Upload.Title), "title");
|
||||
form.Add(new StringContent(Upload.Description), "description");
|
||||
form.Add(new StringContent(""), "srcUrl");
|
||||
|
||||
UploadedPhoto.ImageUrl = $"{APIRoot.InternetUrl}/{UploadedPhoto.ImageUrl}";
|
||||
|
||||
await Upload.Image.CopyToAsync(stream);
|
||||
var fileContent = stream.ToArray();
|
||||
form.Add(new ByteArrayContent(fileContent, 0, fileContent.Length), Upload.Image.FileName, Upload.Image.FileName);
|
||||
|
||||
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/poetphotos", form);
|
||||
if (!response.IsSuccessStatusCode)
|
||||
{
|
||||
LastError = JsonConvert.DeserializeObject<string>(await response.Content.ReadAsStringAsync());
|
||||
}
|
||||
else
|
||||
{
|
||||
UploadedPhoto = JsonConvert.DeserializeObject<GanjoorPoetSuggestedPictureViewModel>(await response.Content.ReadAsStringAsync());
|
||||
|
||||
UploadedPhoto.ImageUrl = $"{APIRoot.InternetUrl}/{UploadedPhoto.ImageUrl}";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LastError = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
|
||||
}
|
||||
else
|
||||
{
|
||||
LastError = "لطفا از گنجور خارج و مجددا به آن وارد شوید.";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return await OnGetAsync();
|
||||
|
||||
@ -49,7 +49,10 @@ namespace RMuseum.Models.Ganjoor.ViewModels
|
||||
/// </summary>
|
||||
public bool ChosenOne { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// rejection cause
|
||||
/// </summary>
|
||||
public string RejectionCause { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -36,5 +36,10 @@ namespace RMuseum.Models.Ganjoor.ViewModels
|
||||
/// suggested by id
|
||||
/// </summary>
|
||||
public Guid? SuggestedById { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// rejection cause
|
||||
/// </summary>
|
||||
public string RejectionCause { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1568,11 +1568,12 @@
|
||||
<param name="photo"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorPoetSuggestedPhotosController.DeletePoetSuggestedPhotosAsync(System.Int32)">
|
||||
<member name="M:RMuseum.Controllers.GanjoorPoetSuggestedPhotosController.RejectPoetSuggestedPhotosAsync(System.Int32,System.String)">
|
||||
<summary>
|
||||
delete a suggestion for poets photos
|
||||
reject a suggestion for poets photos
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:RMuseum.Controllers.GanjoorPoetSuggestedPhotosController._poetPhotosService">
|
||||
@ -1621,11 +1622,12 @@
|
||||
<param name="spec"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Controllers.GanjoorPoetSuggestedSpecLinesController.DeletePoetSuggestedSpecLinesAsync(System.Int32)">
|
||||
<member name="M:RMuseum.Controllers.GanjoorPoetSuggestedSpecLinesController.RejectPoetSuggestedSpecLinesAsync(System.Int32,System.String)">
|
||||
<summary>
|
||||
delete a suggestion for poets spec lines
|
||||
reject a suggestion for poets spec lines
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:RMuseum.Controllers.GanjoorPoetSuggestedSpecLinesController._ganjoorService">
|
||||
@ -8022,6 +8024,11 @@
|
||||
selected
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoetSuggestedPictureViewModel.RejectionCause">
|
||||
<summary>
|
||||
rejection cause
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoetSuggestedSpecLineViewModel">
|
||||
<summary>
|
||||
Ganjoor Poet Specification view model
|
||||
@ -8057,6 +8064,11 @@
|
||||
suggested by id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoetSuggestedSpecLineViewModel.RejectionCause">
|
||||
<summary>
|
||||
rejection cause
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:RMuseum.Models.Ganjoor.ViewModels.GanjoorPoetViewModel">
|
||||
<summary>
|
||||
Ganjoor Poet
|
||||
@ -10844,12 +10856,13 @@
|
||||
<param name="model"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IGanjoorService.DeletePoetSuggestedSpecLinesAsync(System.Int32,System.Guid)">
|
||||
<member name="M:RMuseum.Services.IGanjoorService.RejectPoetSuggestedSpecLinesAsync(System.Int32,System.Guid,System.String)">
|
||||
<summary>
|
||||
delete a suggestion for poets spec lines
|
||||
reject a suggestion for poets spec lines
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="deleteUserId"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IGanjoorTranslationService">
|
||||
@ -12319,12 +12332,13 @@
|
||||
<param name="model"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.DeletePoetSuggestedSpecLinesAsync(System.Int32,System.Guid)">
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.RejectPoetSuggestedSpecLinesAsync(System.Int32,System.Guid,System.String)">
|
||||
<summary>
|
||||
delete a suggestion for poets spec lines
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="deleteUserId"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.GanjoorService.StartFindingMissingRhythms(System.Boolean,System.Int32)">
|
||||
@ -13471,12 +13485,13 @@
|
||||
<param name="model"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.Implementation.PoetPhotoSuggestionService.DeletePoetSuggestedPhotoAsync(System.Int32,System.Guid)">
|
||||
<member name="M:RMuseum.Services.Implementation.PoetPhotoSuggestionService.RejectPoetSuggestedPhotosAsync(System.Int32,System.Guid,System.String)">
|
||||
<summary>
|
||||
delete a suggested photo for poets
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="deleteUserId"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="F:RMuseum.Services.Implementation.PoetPhotoSuggestionService._context">
|
||||
@ -14152,12 +14167,13 @@
|
||||
<param name="model"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:RMuseum.Services.IPoetPhotoSuggestionService.DeletePoetSuggestedPhotoAsync(System.Int32,System.Guid)">
|
||||
<member name="M:RMuseum.Services.IPoetPhotoSuggestionService.RejectPoetSuggestedPhotosAsync(System.Int32,System.Guid,System.String)">
|
||||
<summary>
|
||||
delete a suggested photo for poets
|
||||
</summary>
|
||||
<param name="id"></param>
|
||||
<param name="deleteUserId"></param>
|
||||
<param name="rejectionCause"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="T:RMuseum.Services.IRecitationService">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user