Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
T
TokenVaultManagement
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jasonwai
TokenVaultManagement
Commits
3162cafb
Commit
3162cafb
authored
Jul 04, 2023
by
nickchen
🎨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 新增欄位使用者無預設選項問題
add: editPostAction of TokenVaultController
parent
5a8a6513
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
180 additions
and
12 deletions
+180
-12
TokenVaultController .cs
...Management/backstage/Controllers/TokenVaultController .cs
+165
-7
Edit.zh.resx
...agement/backstage/Resources/Views/TokenVault/Edit.zh.resx
+1
-1
Edit.cshtml
...n Vault Management/backstage/Views/TokenVault/Edit.cshtml
+11
-4
ListUsers.cshtml
...lt Management/backstage/Views/TokenVault/ListUsers.cshtml
+3
-0
No files found.
Merchant Token Vault Management/backstage/Controllers/TokenVaultController .cs
View file @
3162cafb
...
@@ -1994,7 +1994,8 @@ namespace backstage.Controllers
...
@@ -1994,7 +1994,8 @@ namespace backstage.Controllers
{
{
if
(
TokenVaultResponse
.
info
.
Count
>
0
)
if
(
TokenVaultResponse
.
info
.
Count
>
0
)
{
{
return
View
(
TokenVaultResponse
.
info
[
0
]);
TokenVaultResponse
.
info
[
0
].
merchant_id
=
merchantid
;
return
View
(
TokenVaultResponse
.
info
[
0
]);
}
}
else
else
{
{
...
@@ -2008,7 +2009,165 @@ namespace backstage.Controllers
...
@@ -2008,7 +2009,165 @@ namespace backstage.Controllers
return
View
();
return
View
();
}
}
[
Authorize
(
Policy
=
"AdminOnly"
)]
[
Authorize
(
Policy
=
"AdminOnly"
)]
[
HttpPost
(
"/TokenVault/Edit/{id}"
)]
public
async
Task
<
IActionResult
>
Edit
(
int
id
,
TokenVault
tokenVault
)
{
string
msg
=
string
.
Empty
;
// 取得使用者的 "token" Claim 值
string
token
=
User
.
FindFirstValue
(
"token"
);
//get此部門的全部vault api
var
url
=
_config
[
"IP"
]
+
"/v2/vault/get"
;
var
httpMethod
=
HttpMethod
.
Post
;
var
parameters
=
new
Dictionary
<
string
,
string
>
{
{
"Merchant_id"
,
tokenVault
.
merchant_id
.
ToString
()},
};
var
apiResult
=
await
_callApi
.
CallAPI
(
url
,
parameters
,
httpMethod
);
if
(
apiResult
.
IsSuccess
)
{
var
tokenVaultResponse
=
JsonConvert
.
DeserializeObject
<
TokenVaultResponse
>(
apiResult
.
Data
.
ToString
());
if
(
tokenVaultResponse
.
info
!=
null
)
{
var
existVault
=
tokenVaultResponse
.
info
.
Where
(
x
=>
x
.
vault_id
==
id
).
FirstOrDefault
();
if
(
existVault
!=
null
)
{
if
(
string
.
IsNullOrEmpty
(
tokenVault
.
name
))
{
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
" can't be empty."
;
break
;
case
"zh"
:
msg
=
"不得空白"
;
break
;
default
:
msg
=
"不得空白"
;
break
;
}
ModelState
.
AddModelError
(
"name"
,
msg
);
}
else
{
var
nameRepeat
=
tokenVaultResponse
.
info
.
Where
(
x
=>
x
.
vault_id
!=
id
&&
x
.
name
==
tokenVault
.
name
).
FirstOrDefault
();
if
(
nameRepeat
!=
null
)
{
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
" can't be repeated."
;
break
;
case
"zh"
:
msg
=
"不得重複"
;
break
;
default
:
msg
=
"不得重複"
;
break
;
}
ModelState
.
AddModelError
(
"name"
,
msg
);
}
}
if
(
string
.
IsNullOrEmpty
(
tokenVault
.
desc
))
{
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
" can't be empty."
;
break
;
case
"zh"
:
msg
=
"不得空白"
;
break
;
default
:
msg
=
"不得空白"
;
break
;
}
ModelState
.
AddModelError
(
"desc"
,
msg
);
}
if
(!
ModelState
.
IsValid
)
{
return
View
(
tokenVault
);
}
//修改vault
existVault
.
name
=
tokenVault
.
name
;
existVault
.
desc
=
tokenVault
.
desc
;
existVault
.
merchant_id
=
tokenVault
.
merchant_id
;
url
=
_config
[
"IP"
]
+
"/v2/vault"
;
var
editDataJson
=
new
{
name
=
existVault
.
name
,
desc
=
existVault
.
desc
,
type
=
existVault
.
type
,
enabled
=
existVault
.
enabled
};
parameters
=
new
Dictionary
<
string
,
string
>
{
{
"token"
,
token
},
{
"info"
,
"INFO"
},
{
"id"
,
existVault
.
vault_id
.
ToString
()
},
{
"Merchant_id"
,
existVault
.
merchant_id
.
ToString
()
},
{
"data"
,
JsonConvert
.
SerializeObject
(
editDataJson
)}
};
apiResult
=
await
_callApi
.
CallAPI
(
url
,
parameters
,
httpMethod
);
if
(
apiResult
.
IsSuccess
)
{
var
response
=
JsonConvert
.
DeserializeObject
<
Response
>(
apiResult
.
Data
.
ToString
());
if
(
response
.
r
==
0
)
{
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
"Edit success."
;
break
;
case
"zh"
:
msg
=
"編輯成功"
;
break
;
default
:
msg
=
"編輯成功"
;
break
;
}
TempData
[
"IsSuccess"
]
=
true
;
TempData
[
"msg"
]
=
msg
;
return
RedirectToAction
(
"List"
);
}
}
}
}
}
switch
(
_currentLanguage
)
{
case
"en"
:
msg
=
"Edit fail."
;
break
;
case
"zh"
:
msg
=
"編輯失敗"
;
break
;
default
:
msg
=
"編輯失敗"
;
break
;
}
TempData
[
"IsSuccess"
]
=
false
;
TempData
[
"msg"
]
=
msg
;
return
RedirectToAction
(
"List"
);
}
[
Authorize
(
Policy
=
"AdminOnly"
)]
[
HttpPost
]
[
HttpPost
]
public
async
Task
<
IActionResult
>
CreateTokenVault
(
TokenVaultForCreate
tokenVault
)
public
async
Task
<
IActionResult
>
CreateTokenVault
(
TokenVaultForCreate
tokenVault
)
{
{
...
@@ -2090,11 +2249,10 @@ namespace backstage.Controllers
...
@@ -2090,11 +2249,10 @@ namespace backstage.Controllers
url
=
_config
[
"IP"
]
+
"/tsp/merchant/vault/add"
;
url
=
_config
[
"IP"
]
+
"/tsp/merchant/vault/add"
;
parameters
=
new
Dictionary
<
string
,
string
>
parameters
=
new
Dictionary
<
string
,
string
>
{
{
{
"token"
,
token
},
{
"token"
,
token
},
{
"data"
,
JsonConvert
.
SerializeObject
(
tokenVault
)}
{
"data"
,
JsonConvert
.
SerializeObject
(
tokenVault
)}
};
};
apiResult
=
await
_callApi
.
CallAPI
(
url
,
parameters
,
httpMethod
);
apiResult
=
await
_callApi
.
CallAPI
(
url
,
parameters
,
httpMethod
);
if
(
apiResult
.
IsSuccess
)
if
(
apiResult
.
IsSuccess
)
{
{
...
...
Merchant Token Vault Management/backstage/Resources/Views/TokenVault/Edit.zh.resx
View file @
3162cafb
...
@@ -133,7 +133,7 @@
...
@@ -133,7 +133,7 @@
<value>
狀態
</value>
<value>
狀態
</value>
</data>
</data>
<data
name=
"merchant_id"
xml:space=
"preserve"
>
<data
name=
"merchant_id"
xml:space=
"preserve"
>
<value>
編號
</value>
<value>
部門
編號
</value>
</data>
</data>
<data
name=
"Modify Token Vault"
xml:space=
"preserve"
>
<data
name=
"Modify Token Vault"
xml:space=
"preserve"
>
<value>
修改Token Vault
</value>
<value>
修改Token Vault
</value>
...
...
Merchant Token Vault Management/backstage/Views/TokenVault/Edit.cshtml
View file @
3162cafb
...
@@ -23,14 +23,17 @@
...
@@ -23,14 +23,17 @@
<div class="card-body">
<div class="card-body">
<h4 class="card-title">@Localizer["Modify Token Vault"]</h4>
<h4 class="card-title">@Localizer["Modify Token Vault"]</h4>
<form class="forms-sample" method="post" asp-action="
CreateDepartmen
t" autocomplete="off">
<form class="forms-sample" method="post" asp-action="
Edi
t" 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">@Localizer["Basic"]</p>
<p class="form-title card-description">@Localizer["Basic"]</p>
<div class="row">
<div class="row">
<div class="col-md-
6
form-group required">
<div class="col-md-
4
form-group required">
<label asp-for="merchant_id" class="col-form-label" for="">@Localizer["merchant_id"]</label>
<label asp-for="merchant_id" class="col-form-label" for="">@Localizer["merchant_id"]</label>
<select id="selectDepartmentList" class="form-control" asp-items="ViewBag.DepartmentsList" asp-for="merchant_id">
<!--<select id="selectDepartmentList" class="form-control" asp-items="ViewBag.DepartmentsList" asp-for="merchant_id">
</select>
</select>-->
<input asp-for="merchant_id" type="text" class="form-control" disabled>
<input asp-for="merchant_id" type="text" class="form-control" hidden>
</div>
</div>
<div class="col-md-4 form-group required">
<div class="col-md-4 form-group required">
...
@@ -59,12 +62,14 @@
...
@@ -59,12 +62,14 @@
<div class="col-md-4 form-group required">
<div class="col-md-4 form-group required">
<label asp-for="type" class="col-form-label" for="">@Localizer["type"]</label>
<label asp-for="type" class="col-form-label" for="">@Localizer["type"]</label>
<input asp-for="type" type="text" class="form-control" id="" disabled>
<input asp-for="type" type="text" class="form-control" id="" disabled>
<input asp-for="type" type="text" class="form-control" id="" hidden>
<span asp-validation-for="type" class="text-danger"></span>
<span asp-validation-for="type" class="text-danger"></span>
</div>
</div>
<div class="col-md-4 form-group required">
<div class="col-md-4 form-group required">
<label asp-for="enabled" class="col-form-label" for="">@Localizer["enabled"]</label>
<label asp-for="enabled" class="col-form-label" for="">@Localizer["enabled"]</label>
<input asp-for="enabled" type="text" class="form-control" id="" disabled>
<input asp-for="enabled" type="text" class="form-control" id="" disabled>
<input asp-for="enabled" type="text" class="form-control" id="" hidden>
<span asp-validation-for="enabled" class="text-danger"></span>
<span asp-validation-for="enabled" class="text-danger"></span>
</div>
</div>
</div>
</div>
...
@@ -74,12 +79,14 @@
...
@@ -74,12 +79,14 @@
<div class="col-md-4 form-group required">
<div class="col-md-4 form-group required">
<label asp-for="tokenCount" class="col-form-label" for="">@Localizer["tokenCount"]</label>
<label asp-for="tokenCount" class="col-form-label" for="">@Localizer["tokenCount"]</label>
<input asp-for="tokenCount" type="text" class="form-control" id="" disabled>
<input asp-for="tokenCount" type="text" class="form-control" id="" disabled>
<input asp-for="tokenCount" type="text" class="form-control" id="" hidden>
</div>
</div>
<div class="col-md-4 form-group required">
<div class="col-md-4 form-group required">
<label asp-for="userCount" class="col-form-label" for="">@Localizer["userCount"]</label>
<label asp-for="userCount" class="col-form-label" for="">@Localizer["userCount"]</label>
<input asp-for="userCount" type="text" class="form-control" id="" disabled>
<input asp-for="userCount" type="text" class="form-control" id="" disabled>
<input asp-for="userCount" type="text" class="form-control" id="" hidden>
</div>
</div>
</div>
</div>
...
...
Merchant Token Vault Management/backstage/Views/TokenVault/ListUsers.cshtml
View file @
3162cafb
...
@@ -180,6 +180,7 @@
...
@@ -180,6 +180,7 @@
<div class="form-group">
<div class="form-group">
<div class="dropdown bootstrap-select selecter form-control ">
<div class="dropdown bootstrap-select selecter form-control ">
<select id="user_selectpicker" title="@Localizer["Please select user(Single option)."]" class="selectpicker selecter form-control selectpicker-tokenization" asp-items="ViewBag.users" tabindex="null">
<select id="user_selectpicker" title="@Localizer["Please select user(Single option)."]" class="selectpicker selecter form-control selectpicker-tokenization" asp-items="ViewBag.users" tabindex="null">
<option disabled>@Localizer["Please select user(Single option)."]</option>
</select>
</select>
</div>
</div>
...
@@ -191,6 +192,7 @@
...
@@ -191,6 +192,7 @@
<div class="form-group">
<div class="form-group">
<div class="dropdown bootstrap-select show-tick selecter form-control ">
<div class="dropdown bootstrap-select show-tick selecter form-control ">
<select name="allow_masks" id="select_mask" multiple="" title="@Localizer["Please select mask(multiple options)."]" class="mask_selectpicker selectpicker selecter form-control selectpicker-tokenization" tabindex="null" asp-items="ViewBag.masks">
<select name="allow_masks" id="select_mask" multiple="" title="@Localizer["Please select mask(multiple options)."]" class="mask_selectpicker selectpicker selecter form-control selectpicker-tokenization" tabindex="null" asp-items="ViewBag.masks">
<option disabled>@Localizer["Please select mask(multiple options)."]</option>
</select>
</select>
</div>
</div>
</div>
</div>
...
@@ -201,6 +203,7 @@
...
@@ -201,6 +203,7 @@
<div class="form-group">
<div class="form-group">
<div class="dropdown bootstrap-select selecter form-control ">
<div class="dropdown bootstrap-select selecter form-control ">
<select name="default_mask_id" id="default_mask" title="@Localizer["Please select default mask(Single option)."]" class=" default_mask_selectpicker selectpicker selecter form-control selectpicker-tokenization" tabindex="null" asp-items="ViewBag.masks">
<select name="default_mask_id" id="default_mask" title="@Localizer["Please select default mask(Single option)."]" class=" default_mask_selectpicker selectpicker selecter form-control selectpicker-tokenization" tabindex="null" asp-items="ViewBag.masks">
<option disabled>@Localizer["Please select default mask(Single option)."]</option>
</select>
</select>
</div>
</div>
</div>
</div>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment