mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: prevents errors on /tags when a tag constructor exists (#10449)
This is due to js objects having a constructor property:
```
const obj = {};
obj['constructor'] // return [native code] and not undefined
```
This commit is contained in:
@@ -25,21 +25,21 @@ function storeMap(type, id, obj) {
|
||||
|
||||
function fromMap(type, id) {
|
||||
const byType = _identityMap[type];
|
||||
if (byType) {
|
||||
if (byType && byType.hasOwnProperty(id)) {
|
||||
return byType[id];
|
||||
}
|
||||
}
|
||||
|
||||
function removeMap(type, id) {
|
||||
const byType = _identityMap[type];
|
||||
if (byType) {
|
||||
if (byType && byType.hasOwnProperty(id)) {
|
||||
delete byType[id];
|
||||
}
|
||||
}
|
||||
|
||||
function findAndRemoveMap(type, id) {
|
||||
const byType = _identityMap[type];
|
||||
if (byType) {
|
||||
if (byType && byType.hasOwnProperty(id)) {
|
||||
const result = byType[id];
|
||||
delete byType[id];
|
||||
return result;
|
||||
|
||||
@@ -5,7 +5,8 @@ class Tag < ActiveRecord::Base
|
||||
include HasDestroyedWebHook
|
||||
|
||||
RESERVED_TAGS = [
|
||||
'none'
|
||||
'none',
|
||||
'constructor' # prevents issues with javascript's constructor of objects
|
||||
]
|
||||
|
||||
validates :name,
|
||||
|
||||
Reference in New Issue
Block a user