Skip to content

Commit

Permalink
CORS settings fix (OrchardCMS#15318)
Browse files Browse the repository at this point in the history
  • Loading branch information
lampersky authored and urbanit committed Mar 18, 2024
1 parent e9da72d commit 0790c35
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 42 deletions.
28 changes: 14 additions & 14 deletions src/OrchardCore.Modules/OrchardCore.Cors/Assets/Admin/cors-admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,35 +43,35 @@ var corsApp = new Vue({
methods: {
newPolicy: function () {
this.selectedPolicy = {
Name: 'New policy',
AllowedOrigins: [],
AllowAnyOrigin: true,
AllowedMethods: [],
AllowAnyMethod: true,
AllowedHeaders: [],
AllowAnyHeader: true,
AllowCredentials: true,
IsDefaultPolicy: false
name: 'New policy',
allowedOrigins: [],
allowAnyOrigin: true,
allowedMethods: [],
allowAnyMethod: true,
allowedHeaders: [],
allowAnyHeader: true,
allowCredentials: true,
isDefaultPolicy: false
};
},
editPolicy: function (policy) {
this.selectedPolicy = Object.assign({}, policy);
this.selectedPolicy.OriginalName = this.selectedPolicy.Name;
this.selectedPolicy.originalName = this.selectedPolicy.name;
},
deletePolicy: function (policy, event) {
this.selectedPolicy = null;
var policyToRemove = this.policies.filter(function (item) { return item.Name === policy.Name; });
var policyToRemove = this.policies.filter(function (item) { return item.name === policy.name; });
if (policyToRemove.length > 0)
this.policies.splice($.inArray(policyToRemove[0], this.policies), 1);
event.stopPropagation();
this.save();
},
updatePolicy: function (policy, event) {
if (policy.IsDefaultPolicy) {
this.policies.forEach(p => p.IsDefaultPolicy = false);
if (policy.isDefaultPolicy) {
this.policies.forEach(p => p.isDefaultPolicy = false);
}
if (policy.OriginalName) {
var policyIndex = this.policies.findIndex((oldPolicy) => oldPolicy.Name === policy.OriginalName);
var policyIndex = this.policies.findIndex((oldPolicy) => oldPolicy.name === policy.originalName);
this.policies[policyIndex] = policy;
}
else {
Expand Down
26 changes: 13 additions & 13 deletions src/OrchardCore.Modules/OrchardCore.Cors/Views/Admin/Index.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@
</div>
</div>
<ul class="list-group mb-2" v-cloak v-if="policies.length > 0">
<li class="list-group-item" v-for="policy in policies" :data-filter-value="policy.Name">
<li class="list-group-item" v-for="policy in policies" :data-filter-value="policy.name">
<div class="d-flex">
<div class="align-self-center me-auto">{{ policy.Name }}</div>
<div class="align-self-center me-auto">{{ policy.name }}</div>
<div class="align-self-center">
<span v-if="policy.IsDefaultPolicy" class="badge ta-badge">@T["Default Policy"]</span>
<span v-if="policy.isDefaultPolicy" class="badge ta-badge">@T["Default Policy"]</span>
<button class="btn btn-primary btn-sm" type="button" v-on:click="editPolicy(policy)">@T["Edit"]</button>
<button class="delete btn btn-danger btn-sm" type="button" v-on:click="deletePolicy(policy, $event)">@T["Delete"]</button>
</div>
Expand All @@ -60,19 +60,19 @@

<script type="text/x-template" id="policy-details">
<div>
<h3>{{ policy.Name }}</h3>
<h3>{{ policy.name }}</h3>
<div class="card mb-2">
<div class="card-body">
<h5 class="card-title">@T["Details"]
<span class="hint dashed">@T["Provide policy details."]</span>
</h5>
<div class="mb-3">
<label>@T["Policy name"]</label>
<input v-model="policy.Name" type="text" class="form-control" />
<input v-model="policy.name" type="text" class="form-control" />
<span class="hint">@T["The name of the policy."]</span>
</div>
<div class="form-check">
<input class="form-check-input" id="set-default-policy" v-model="policy.IsDefaultPolicy" type="checkbox">
<input class="form-check-input" id="set-default-policy" v-model="policy.isDefaultPolicy" type="checkbox">
<label class="form-check-label" for="set-default-policy">@T["Set as default policy"]</label>
</div>
</div>
Expand All @@ -84,7 +84,7 @@
</h5>

<div class="form-check">
<input class="form-check-input" id="allow-credentials" v-model="policy.AllowCredentials" type="checkbox" />
<input class="form-check-input" id="allow-credentials" v-model="policy.allowCredentials" type="checkbox" />
<label class="form-check-label" for="allow-credentials">@T["Allow credentials"]</label>
<span class="hint dashed">@T["Allows credentials to be transported in requests. This setting is not allowed in combination with Allow Any Origin."]</span>
</div>
Expand All @@ -98,11 +98,11 @@

<div class="">
<div class="form-check mb-2">
<input class="form-check-input" id="allowed-origins" v-model="policy.AllowAnyOrigin" type="checkbox" />
<input class="form-check-input" id="allowed-origins" v-model="policy.allowAnyOrigin" type="checkbox" />
<label class="form-check-label" for="allowed-origins">@T["Allow any origin"]</label>
<span class="hint dashed">@T["Allows requests from any origin. This will bypass any origin that is configured below."]</span>
</div>
<options-list v-bind:options="policy.AllowedOrigins" optionType="@T["Origin"]" title="@T["Allowed origins"]" subTitle="" />
<options-list v-bind:options="policy.allowedOrigins" optionType="@T["Origin"]" title="@T["Allowed origins"]" subTitle="" />
</div>
</div>
</div>
Expand All @@ -114,11 +114,11 @@

<div class="">
<div class="form-check mb-2">
<input class="form-check-input" id="allowed-headers" v-model="policy.AllowAnyHeader" type="checkbox" />
<input class="form-check-input" id="allowed-headers" v-model="policy.allowAnyHeader" type="checkbox" />
<label class="form-check-label" for="allowed-headers">@T["Allow any header"]</label>
<span class="hint dashed">@T["Allows requests with any header. This will bypass any headers that are configured below."]</span>
</div>
<options-list v-bind:options="policy.AllowedHeaders" optionType="@T["Header"]" title="@T["Allowed headers"]" subTitle="" />
<options-list v-bind:options="policy.allowedHeaders" optionType="@T["Header"]" title="@T["Allowed headers"]" subTitle="" />
</div>
</div>
</div>
Expand All @@ -130,11 +130,11 @@

<div class="">
<div class="form-check mb-2">
<input class="form-check-input" id="allowed-methods" v-model="policy.AllowAnyMethod" type="checkbox" />
<input class="form-check-input" id="allowed-methods" v-model="policy.allowAnyMethod" type="checkbox" />
<label class="form-check-label" for="allowed-methods">@T["Allow any method"]</label>
<span class="hint dashed">@T["Allows requests with any method. This will bypass any methods that are configured below."]</span>
</div>
<options-list v-bind:options="policy.AllowedMethods" optionType="@T["Method"]" title="@T["Allowed methods"]" subTitle="" />
<options-list v-bind:options="policy.allowedMethods" optionType="@T["Method"]" title="@T["Allowed methods"]" subTitle="" />
</div>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ var corsApp = new Vue({
},
data: {
selectedPolicy: null,
policies: null,
policies: [],
defaultPolicyName: null
},
updated: function updated() {
Expand All @@ -51,25 +51,25 @@ var corsApp = new Vue({
methods: {
newPolicy: function newPolicy() {
this.selectedPolicy = {
Name: 'New policy',
AllowedOrigins: [],
AllowAnyOrigin: true,
AllowedMethods: [],
AllowAnyMethod: true,
AllowedHeaders: [],
AllowAnyHeader: true,
AllowCredentials: true,
IsDefaultPolicy: false
name: 'New policy',
allowedOrigins: [],
allowAnyOrigin: true,
allowedMethods: [],
allowAnyMethod: true,
allowedHeaders: [],
allowAnyHeader: true,
allowCredentials: true,
isDefaultPolicy: false
};
},
editPolicy: function editPolicy(policy) {
this.selectedPolicy = Object.assign({}, policy);
this.selectedPolicy.OriginalName = this.selectedPolicy.Name;
this.selectedPolicy.originalName = this.selectedPolicy.name;
},
deletePolicy: function deletePolicy(policy, event) {
this.selectedPolicy = null;
var policyToRemove = this.policies.filter(function (item) {
return item.Name === policy.Name;
return item.name === policy.name;
});
if (policyToRemove.length > 0) this.policies.splice($.inArray(policyToRemove[0], this.policies), 1);
event.stopPropagation();
Expand All @@ -81,9 +81,9 @@ var corsApp = new Vue({
return p.IsDefaultPolicy = false;
});
}
if (policy.OriginalName) {
if (policy.originalName) {
var policyIndex = this.policies.findIndex(function (oldPolicy) {
return oldPolicy.Name === policy.OriginalName;
return oldPolicy.name === policy.originalName;
});
this.policies[policyIndex] = policy;
} else {
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 0790c35

Please sign in to comment.