Commit 5fbf8e49 authored by Jason's avatar Jason

編輯部門

parent 2aa70272
...@@ -254,6 +254,7 @@ namespace backstage.Controllers ...@@ -254,6 +254,7 @@ namespace backstage.Controllers
/// <summary> /// <summary>
/// ajax權限增加使用者 /// ajax權限增加使用者
/// /tokenvault/Permission
/// </summary> /// </summary>
/// <param name="merchant_id"></param> /// <param name="merchant_id"></param>
/// <param name="vault_id"></param> /// <param name="vault_id"></param>
...@@ -614,6 +615,7 @@ namespace backstage.Controllers ...@@ -614,6 +615,7 @@ namespace backstage.Controllers
/// <summary> /// <summary>
/// 欄位添加使用者 ajax /// 欄位添加使用者 ajax
/// /tokenvault/ListFields
/// </summary> /// </summary>
/// <param name="requestData"></param> /// <param name="requestData"></param>
/// <returns></returns> /// <returns></returns>
......
...@@ -1212,6 +1212,101 @@ namespace backstage.Controllers ...@@ -1212,6 +1212,101 @@ namespace backstage.Controllers
} }
[Authorize(Policy = "AdminOnly")]
[HttpPost]
public async Task<IActionResult> EditDepartment(Department department)
{
var url = _config["IP"] + "/merchant/mod";
string msg;
if (string.IsNullOrEmpty(department.name))
{
switch (_currentLanguage)
{
case "en":
msg = "can't be empty.";
break;
case "zh":
msg = "部門名稱不能為空";
break;
default:
msg = "部門名稱不能為空";
break;
}
ModelState.AddModelError("name", msg);
}
if (string.IsNullOrEmpty(department.phone))
{
department.phone = "null";
}
var httpMethod = HttpMethod.Post;
// 取得使用者的 "token" Claim 值
string token = User.FindFirstValue("token");
var data = new
{
name = department.name,
address = "null",
countryid = "Taiwan",
postcode = "123",
phone="null",
name_en="null",
VATID_verify="1",
enabled=1
};
var parameters = new Dictionary<string, string>
{
{ "token", token },
{ "merchant",JsonConvert.SerializeObject(data)},
{ "uid",department.merchant_id.ToString()}
};
var apiResult = await _callApi.CallAPI(url, parameters, httpMethod);
if (apiResult.IsSuccess)
{
var userAddResponse = JsonConvert.DeserializeObject<UserAddResponse>(apiResult.Data.ToString());
if (userAddResponse.r == 0)
{
switch (_currentLanguage)
{
case "en":
msg = "Edit department success.";
break;
case "zh":
msg = "編輯部門成功";
break;
default:
msg = "編輯部門成功";
break;
}
TempData["IsSuccess"] = true;
TempData["msg"] = msg;
return RedirectToAction("ListDepartments");
}
else
{
TempData["IsSuccess"] = false;
TempData["msg"] = JsonConvert.SerializeObject(userAddResponse.m);
return RedirectToAction("ListDepartments");
}
}
return RedirectToAction("ListDepartments");
}
/// <summary> /// <summary>
/// enable做兩件事情,user加入admin,並且enable=true, /// enable做兩件事情,user加入admin,並且enable=true,
...@@ -1308,8 +1403,22 @@ namespace backstage.Controllers ...@@ -1308,8 +1403,22 @@ namespace backstage.Controllers
if (Response.r == 0) if (Response.r == 0)
{ {
switch (_currentLanguage)
{
case "en":
msg = "Set permission success.";
break;
case "zh":
msg = "權限調整成功";
break;
default:
msg = "權限調整成功";
break;
}
result.IsSuccess = true; result.IsSuccess = true;
result.Message = "權限調整成功"; result.Message = msg;
return result; return result;
} }
...@@ -1331,8 +1440,23 @@ namespace backstage.Controllers ...@@ -1331,8 +1440,23 @@ namespace backstage.Controllers
} }
else else
{ {
switch (_currentLanguage)
{
case "en":
msg = "Not admin.";
break;
case "zh":
msg = "非admin";
break;
default:
msg = "非admin";
break;
}
result.IsSuccess = false; result.IsSuccess = false;
result.Message = "非admin"; result.Message = msg;
return result;
return result; return result;
} }
} }
...@@ -1355,10 +1479,25 @@ namespace backstage.Controllers ...@@ -1355,10 +1479,25 @@ namespace backstage.Controllers
if (Response.r == 0) if (Response.r == 0)
{ {
switch (_currentLanguage)
{
case "en":
msg = "Set permission success.";
break;
case "zh":
msg = "權限調整成功";
break;
default:
msg = "權限調整成功";
break;
}
result.IsSuccess = true; result.IsSuccess = true;
result.Message = "權限調整成功"; result.Message = msg;
return result; return result;
} }
else else
{ {
...@@ -1435,9 +1574,25 @@ namespace backstage.Controllers ...@@ -1435,9 +1574,25 @@ namespace backstage.Controllers
var existUser = UserResponse.Users.Where(u => u.uid == uid).FirstOrDefault(); var existUser = UserResponse.Users.Where(u => u.uid == uid).FirstOrDefault();
if (existUser == null) if (existUser == null)
{ {
switch (_currentLanguage)
{
case "en":
msg = "user_id is not exist.";
break;
case "zh":
msg = "user_id不存在";
break;
default:
msg = "user_id不存在";
break;
}
result.IsSuccess = false; result.IsSuccess = false;
result.Message = "user_id不存在"; result.Message = msg;
return result; return result;
} }
...@@ -1463,29 +1618,87 @@ namespace backstage.Controllers ...@@ -1463,29 +1618,87 @@ namespace backstage.Controllers
var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString()); var response = JsonConvert.DeserializeObject<Response>(apiResult.Data.ToString());
if (response.r == 0) if (response.r == 0)
{ {
switch (_currentLanguage)
{
case "en":
msg = "Set permission success.";
break;
case "zh":
msg = "權限調整成功";
break;
default:
msg = "權限調整成功";
break;
}
result.IsSuccess = true; result.IsSuccess = true;
result.Message = "權限調整成功"; result.Message = msg;
return result; return result;
} }
} }
switch (_currentLanguage)
{
case "en":
msg = "Errors occoured.";
break;
case "zh":
msg = "發生錯誤";
break;
default:
msg = "發生錯誤";
break;
}
result.IsSuccess = false; result.IsSuccess = false;
result.Message = "發生錯誤"; result.Message = msg;
return result; return result;
}
switch (_currentLanguage)
{
case "en":
msg = "Errors occoured.";
break;
case "zh":
msg = "發生錯誤";
break;
default:
msg = "發生錯誤";
break;
} }
result.IsSuccess = false; result.IsSuccess = false;
result.Message = "發生錯誤"; result.Message = msg;
return result; return result;
} }
switch (_currentLanguage)
{
case "en":
msg = "Errors occoured.";
break;
case "zh":
msg = "發生錯誤";
break;
default:
msg = "發生錯誤";
break;
}
result.IsSuccess = false; result.IsSuccess = false;
result.Message = "發生錯誤"; result.Message = msg;
return result; return result;
#endregion #endregion
......
...@@ -11,17 +11,17 @@ namespace backstage.Models.Users ...@@ -11,17 +11,17 @@ namespace backstage.Models.Users
//public int Id { get; set; } //public int Id { get; set; }
public int merchant_id { get; set; } public int merchant_id { get; set; }
public string address { get; set; } public string address { get; set; } = "null";
public string country_id { get; set; } public string country_id { get; set; } = "Taiwan";
public string postcode { get; set; } public string postcode { get; set; } = "123";
public string phone { get; set; } public string phone { get; set; }
public string fax { get; set; } public string fax { get; set; }
public string vatid { get; set; } public string vatid { get; set; }
public string name { get; set; } public string name { get; set; }
public string name_en { get; set; } public string name_en { get; set; }
public int enabled { get; set; } public int enabled { get; set; } = 1;
public DateTime creation_date { get; set; } public DateTime creation_date { get; set; }
public DateTime vatid_verify { get; set; } public DateTime VATID_verify { get; set; }
public DateTime deposit_book_verify { get; set; } public DateTime deposit_book_verify { get; set; }
public DateTime vatdeposit_book_verify { get; set; } public DateTime vatdeposit_book_verify { get; set; }
public DateTime user_natid_verify { get; set; } public DateTime user_natid_verify { get; set; }
......
...@@ -117,13 +117,13 @@ ...@@ -117,13 +117,13 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="Modify the number of Token Vault Entry this month" xml:space="preserve"> <data name="Modify the number of Token Vault Entrys this month" xml:space="preserve">
<value>本月修改代碼化保險庫入口數量</value> <value>本月修改代碼化保險庫入口數量</value>
</data> </data>
<data name="Number of departments" xml:space="preserve"> <data name="Number of departments" xml:space="preserve">
<value>部門數量</value> <value>部門數量</value>
</data> </data>
<data name="Number of new Token Vault Entry added this month" xml:space="preserve"> <data name="Number of new Token Vault Entrys added this month" xml:space="preserve">
<value>本月新增代碼化保險庫入口數量</value> <value>本月新增代碼化保險庫入口數量</value>
</data> </data>
<data name="Number of Token Vaults" xml:space="preserve"> <data name="Number of Token Vaults" xml:space="preserve">
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
<data name="Statistic" xml:space="preserve"> <data name="Statistic" xml:space="preserve">
<value>數據統計</value> <value>數據統計</value>
</data> </data>
<data name="Total number of Token Vault Entry" xml:space="preserve"> <data name="Total number of Token Vault Entrys" xml:space="preserve">
<value>代碼化保險庫入口總數量</value> <value>代碼化保險庫入口總數量</value>
</data> </data>
</root> </root>
\ No newline at end of file
...@@ -135,6 +135,9 @@ ...@@ -135,6 +135,9 @@
<data name="Allow update" xml:space="preserve"> <data name="Allow update" xml:space="preserve">
<value>允許更新</value> <value>允許更新</value>
</data> </data>
<data name="Cancel" xml:space="preserve">
<value>取消</value>
</data>
<data name="Choose department" xml:space="preserve"> <data name="Choose department" xml:space="preserve">
<value>選擇部門</value> <value>選擇部門</value>
</data> </data>
...@@ -222,6 +225,9 @@ ...@@ -222,6 +225,9 @@
<data name="Select user" xml:space="preserve"> <data name="Select user" xml:space="preserve">
<value>新增用戶</value> <value>新增用戶</value>
</data> </data>
<data name="Send out" xml:space="preserve">
<value>送出</value>
</data>
<data name="Serial number" xml:space="preserve"> <data name="Serial number" xml:space="preserve">
<value>編號</value> <value>編號</value>
</data> </data>
......
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
<data name="Setting Backup" xml:space="preserve"> <data name="Setting Backup" xml:space="preserve">
<value>設定備份</value> <value>設定備份</value>
</data> </data>
<data name="Token Vault" xml:space="preserve"> <data name="Token Vaults" xml:space="preserve">
<value>Token Vault管理</value> <value>Token Vault管理</value>
</data> </data>
<data name="User List" xml:space="preserve"> <data name="User List" xml:space="preserve">
......
...@@ -135,9 +135,15 @@ ...@@ -135,9 +135,15 @@
<data name="enabled" xml:space="preserve"> <data name="enabled" xml:space="preserve">
<value>啟用</value> <value>啟用</value>
</data> </data>
<data name="Failed" xml:space="preserve">
<value>錯誤</value>
</data>
<data name="name" xml:space="preserve"> <data name="name" xml:space="preserve">
<value>名稱</value> <value>名稱</value>
</data> </data>
<data name="Success" xml:space="preserve">
<value>成功</value>
</data>
<data name="User count" xml:space="preserve"> <data name="User count" xml:space="preserve">
<value>使用者數量</value> <value>使用者數量</value>
</data> </data>
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card"> <div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="card-title">Token Vault Entry <br>@Localizer["Total number of Token Vault Entry"]</h4> <h4 class="card-title">Token Vault Entry <br>@Localizer["Total number of Token Vault Entrys"]</h4>
<div class="card-content text-center"> <div class="card-content text-center">
<img src="~/images/admin-vault-data.svg" class="img-fuild"> <img src="~/images/admin-vault-data.svg" class="img-fuild">
<p class="number text-center">200</p> <p class="number text-center">200</p>
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
<div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card"> <div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="card-title">Token Vualt Entry<br />@Localizer["Number of new Token Vault Entry added this month"]</h4> <h4 class="card-title">Token Vault Entry<br />@Localizer["Number of new Token Vault Entrys added this month"]</h4>
<div class="card-content text-center"> <div class="card-content text-center">
<img src="~/images/admin-vault-add.svg" class="img-fuild"> <img src="~/images/admin-vault-add.svg" class="img-fuild">
<p class="number text-center">10</p> <p class="number text-center">10</p>
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
<div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card"> <div class="col-lg-4 col-md-6 grid-margin stretch-card dashboard-card">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="card-title">Token Vualt Entry<br />@Localizer["Modify the number of Token Vault Entry this month"]</h4> <h4 class="card-title">Token Vault Entry<br />@Localizer["Modify the number of Token Vault Entrys this month"]</h4>
<div class="card-content text-center"> <div class="card-content text-center">
<img src="~/images/admin-vault-edit.svg" class="img-fuild"> <img src="~/images/admin-vault-edit.svg" class="img-fuild">
<p class="number text-center">7</p> <p class="number text-center">7</p>
......
...@@ -206,7 +206,7 @@ ...@@ -206,7 +206,7 @@
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="@Url.Action("List", "TokenVault")"> <a class="nav-link" href="@Url.Action("List", "TokenVault")">
<span class="menu-title">@Localizer["Token Vault"]</span> <span class="menu-title">@Localizer["Token Vaults"]</span>
<i class="mdi mdi-database menu-icon"></i> <i class="mdi mdi-database menu-icon"></i>
</a> </a>
</li> </li>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<h4 class="card-title">Modify Department</h4> <h4 class="card-title">Modify Department</h4>
<div> <div>
<form class="forms-sample" method="post" asp-action="CreateDepartment" autocomplete="off"> <form class="forms-sample" method="post" asp-action="EditDepartment" autocomplete="off">
<div id="errorMsg" asp-validation-summary="All" class="text-danger"></div> <div id="errorMsg" asp-validation-summary="All" class="text-danger"></div>
<p class="form-title card-description">Basic</p> <p class="form-title card-description">Basic</p>
<div class="row"> <div class="row">
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<button type="submit" class="btn btn-primary mr-2">Submit</button> <button type="submit" class="btn btn-primary mr-2" id="submitButton">Submit</button>
<a type="button" class="btn btn-light" asp-action="ListDepartments">Back to list</a> <a type="button" class="btn btn-light" asp-action="ListDepartments">Back to list</a>
</form> </form>
</div> </div>
...@@ -67,9 +67,6 @@ ...@@ -67,9 +67,6 @@
@section Scripts{ @section Scripts{
<script nonce="KUY8VewuvyUYVEIvEFue4vwyiuf"> <script nonce="KUY8VewuvyUYVEIvEFue4vwyiuf">
var msg = '@TempData["msg"]'; var msg = '@TempData["msg"]';
var IsSuccess = '@TempData["IsSuccess"]'; var IsSuccess = '@TempData["IsSuccess"]';
console.log(IsSuccess + msg); console.log(IsSuccess + msg);
...@@ -77,6 +74,18 @@ ...@@ -77,6 +74,18 @@
showAlert(IsSuccess, msg); showAlert(IsSuccess, msg);
} }
$('#submitButton').click(function (e) {
// 先阻止表單的默認提交行為
e.preventDefault();
// 啟用所有的輸入框
$('input').prop('disabled', false);
// 最後再手動提交表單
$(this).closest('form').submit();
});
</script> </script>
......
...@@ -15,6 +15,15 @@ ...@@ -15,6 +15,15 @@
<div class="floating-msg" id="msgDiv"></div> <div class="floating-msg" id="msgDiv"></div>
</div> </div>
@section header
{
<script>
var localizationStrings = {
success: '@Localizer["成功"]',
error: '@Localizer["錯誤"]'
};
</script>
}
<div class="row"> <div class="row">
<div class="col-lg-12 grid-margin stretch-card"> <div class="col-lg-12 grid-margin stretch-card">
<div class="card"> <div class="card">
...@@ -126,6 +135,7 @@ ...@@ -126,6 +135,7 @@
@section Scripts{ @section Scripts{
<script nonce="KUY8VewuvyUYVEIvEFue4vwyiuf"> <script nonce="KUY8VewuvyUYVEIvEFue4vwyiuf">
var msg = '@TempData["msg"]'; var msg = '@TempData["msg"]';
var IsSuccess = '@TempData["IsSuccess"]'; var IsSuccess = '@TempData["IsSuccess"]';
console.log(IsSuccess + msg); console.log(IsSuccess + msg);
......
...@@ -19289,8 +19289,6 @@ tbody { ...@@ -19289,8 +19289,6 @@ tbody {
} }
<<<<<<<<< Temporary merge branch 1
/*版本號樣式*/ /*版本號樣式*/
.versionNo { .versionNo {
...@@ -19299,7 +19297,6 @@ tbody { ...@@ -19299,7 +19297,6 @@ tbody {
padding: 20px 16px 10px 16px padding: 20px 16px 10px 16px
} }
=========
.floating-msg { .floating-msg {
position: fixed; position: fixed;
top: 80px; top: 80px;
......
 
//========show alert通知訊息============ //========show alert通知訊息============
function showAlert(status, msg) { function showAlert(status, msg) {
console.log('showAlert=' + status) console.log('showAlert=' + status)
color = 'alert-success'; var color = 'alert-success';
if (status !== 'True' && status !== true) { if (status !== 'True' && status !== true) {
color = 'alert-danger'; color = 'alert-danger';
status = 'Error!'; status = 'Error';
} }
else { else {
status = 'Success!'; status = 'Success';
} }
$.doTimeout('alert'); var newAlert = $('<div class="alert ' + color + ' alert-dismissible">' +
$('#msgDiv').html('<div class="alert ' + color + ' alert-dismissible">' +
'<button type="button" class="close" data-dismiss="alert">&times;</button>' + '<button type="button" class="close" data-dismiss="alert">&times;</button>' +
' <strong>' + status + '</strong> ' + msg + '</div>'); ' <strong>' + status + '</strong> ' + msg + '</div>');
$("#msgDiv").show();
$.doTimeout('alert', 4000, function () { $("#msgDiv").append(newAlert);
$("#msgDiv").slideUp(200, function () { newAlert.slideDown(200);
setTimeout(function () {
newAlert.slideUp(200, function () {
$(this).alert('close'); $(this).alert('close');
$(this).remove();
}); });
}) }, 4000);
} }
//function showAlert(status, msg) {
// console.log('showAlert=' + status)
// color = 'alert-success';
// if (status !== 'True' && status !== true) {
// color = 'alert-danger';
// status = 'Error!';
// }
// else {
// status = 'Success!';
// }
// $.doTimeout('alert');
// $('#msgDiv').append('<div class="alert ' + color + ' alert-dismissible">' +
// '<button type="button" class="close" data-dismiss="alert">&times;</button>' +
// ' <strong>' + status + '</strong> ' + msg + '</div>');
// $("#msgDiv").show();
// $.doTimeout('alert', 4000, function () {
// $("#msgDiv").slideUp(200, function () {
// $(this).alert('close');
// });
// })
//}
//========END show alert通知訊息============ //========END show alert通知訊息============
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment