Browse Source

Fix #4854 Added missing forward http code for redirections

Jamie Curnow 1 month ago
parent
commit
6825a9773b

+ 1 - 0
frontend/src/locale/lang/en.json

@@ -169,6 +169,7 @@
   "public": "Public",
   "redirection-host": "Redirection Host",
   "redirection-host.forward-domain": "Forward Domain",
+  "redirection-host.forward-http-code": "HTTP Code",
   "redirection-hosts": "Redirection Hosts",
   "redirection-hosts.count": "{count} {count, plural, one {Redirection Host} other {Redirection Hosts}}",
   "role.admin": "Administrator",

+ 3 - 0
frontend/src/locale/src/en.json

@@ -509,6 +509,9 @@
 	"redirection-host.forward-domain": {
 		"defaultMessage": "Forward Domain"
 	},
+	"redirection-host.forward-http-code": {
+		"defaultMessage": "HTTP Code"
+	},
 	"redirection-hosts": {
 		"defaultMessage": "Redirection Hosts"
 	},

+ 30 - 0
frontend/src/modals/RedirectionHostModal.tsx

@@ -212,6 +212,36 @@ const RedirectionHostModal = EasyModal.create(({ id, visible, remove }: Props) =
 														</Field>
 													</div>
 												</div>
+												<Field name="forwardHttpCode">
+													{({ field, form }: any) => (
+														<div className="mb-3">
+															<label className="form-label" htmlFor="forwardHttpCode">
+																<T id="redirection-host.forward-http-code" />
+															</label>
+															<select
+																id="forwardHttpCode"
+																className={`form-control ${form.errors.forwardHttpCode && form.touched.forwardHttpCode ? "is-invalid" : ""}`}
+																required
+																{...field}
+															>
+																<option value="300">300 Multiple choices</option>
+																<option value="301">301 Moved permanently</option>
+																<option value="302">302 Moved temporarily</option>
+																<option value="303">303 See other</option>
+																<option value="307">307 Temporary redirect</option>
+																<option value="308">308 Permanent redirect</option>
+															</select>
+															{form.errors.forwardHttpCode ? (
+																<div className="invalid-feedback">
+																	{form.errors.forwardHttpCode &&
+																	form.touched.forwardHttpCode
+																		? form.errors.forwardHttpCode
+																		: null}
+																</div>
+															) : null}
+														</div>
+													)}
+												</Field>
 												<div className="my-3">
 													<h4 className="py-2">
 														<T id="options" />