Localised more alert strings.
Renamed most of the alert phrases. Fixes #3 - Default value issue with MySQL. Fixed a bug where pages would't load with HTTPS disabled.
This commit is contained in:
parent
436c53f653
commit
644bba36e3
|
@ -54,7 +54,7 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
|
|
||||||
actor, err := Users.Get(actorID)
|
actor, err := Users.Get(actorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", errors.New("Unable to find the actor")
|
return "", errors.New(GetErrorPhrase("alerts_no_actor"))
|
||||||
}
|
}
|
||||||
|
|
||||||
/*if elementType != "forum" {
|
/*if elementType != "forum" {
|
||||||
|
@ -66,7 +66,7 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
if event == "friend_invite" {
|
if event == "friend_invite" {
|
||||||
return buildAlertString(GetTmplPhrase("alerts_new_friend_invite"), []string{actor.Name}, actor.Link, actor.Avatar, asid), nil
|
return buildAlertString(GetTmplPhrase("alerts.new_friend_invite"), []string{actor.Name}, actor.Link, actor.Avatar, asid), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not that many events for us to handle in a forum
|
// Not that many events for us to handle in a forum
|
||||||
|
@ -79,13 +79,13 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
}
|
}
|
||||||
// Store the forum ID in the targetUser column instead of making a new one? o.O
|
// Store the forum ID in the targetUser column instead of making a new one? o.O
|
||||||
// Add an additional column for extra information later on when we add the ability to link directly to posts. We don't need the forum data for now...
|
// Add an additional column for extra information later on when we add the ability to link directly to posts. We don't need the forum data for now...
|
||||||
return buildAlertString(GetTmplPhrase("alerts_forum_new_topic"), []string{actor.Name, topic.Title}, topic.Link, actor.Avatar, asid), nil
|
return buildAlertString(GetTmplPhrase("alerts.forum_new_topic"), []string{actor.Name, topic.Title}, topic.Link, actor.Avatar, asid), nil
|
||||||
}
|
}
|
||||||
return buildAlertString(GetTmplPhrase("alerts_forum_unknown_action"), []string{actor.Name}, "", actor.Avatar, asid), nil
|
return buildAlertString(GetTmplPhrase("alerts.forum_unknown_action"), []string{actor.Name}, "", actor.Avatar, asid), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var url, area string
|
var url, area string
|
||||||
var phraseName = "alerts_" + elementType
|
var phraseName = "alerts." + elementType
|
||||||
switch elementType {
|
switch elementType {
|
||||||
case "topic":
|
case "topic":
|
||||||
topic, err := Topics.Get(elementID)
|
topic, err := Topics.Get(elementID)
|
||||||
|
@ -102,7 +102,7 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
targetUser, err = Users.Get(elementID)
|
targetUser, err = Users.Get(elementID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
DebugLogf("Unable to find target user %d", elementID)
|
DebugLogf("Unable to find target user %d", elementID)
|
||||||
return "", errors.New("Unable to find the target user")
|
return "", errors.New(GetErrorPhrase("alerts_no_target_user"))
|
||||||
}
|
}
|
||||||
area = targetUser.Name
|
area = targetUser.Name
|
||||||
url = targetUser.Link
|
url = targetUser.Link
|
||||||
|
@ -112,7 +112,7 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
case "post":
|
case "post":
|
||||||
topic, err := TopicByReplyID(elementID)
|
topic, err := TopicByReplyID(elementID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", errors.New("Unable to find the linked reply or parent topic")
|
return "", errors.New(GetErrorPhrase("alerts_no_linked_topic_by_reply"))
|
||||||
}
|
}
|
||||||
url = topic.Link
|
url = topic.Link
|
||||||
area = topic.Title
|
area = topic.Title
|
||||||
|
@ -120,7 +120,7 @@ func BuildAlert(asid int, event string, elementType string, actorID int, targetU
|
||||||
phraseName += "_own"
|
phraseName += "_own"
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return "", errors.New("Invalid elementType")
|
return "", errors.New(GetErrorPhrase("alerts_invalid_elementtype"))
|
||||||
}
|
}
|
||||||
|
|
||||||
switch event {
|
switch event {
|
||||||
|
@ -193,7 +193,6 @@ func NotifyWatchers(asid int64) error {
|
||||||
if EnableWebsockets {
|
if EnableWebsockets {
|
||||||
go notifyWatchers(asid)
|
go notifyWatchers(asid)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -280,7 +280,9 @@ func preRoute(w http.ResponseWriter, r *http.Request) (User, bool) {
|
||||||
|
|
||||||
// TODO: Add a config setting to disable this header
|
// TODO: Add a config setting to disable this header
|
||||||
// TODO: Have this header cover more things
|
// TODO: Have this header cover more things
|
||||||
w.Header().Set("Content-Security-Policy", "upgrade-insecure-requests")
|
if Site.EnableSsl {
|
||||||
|
w.Header().Set("Content-Security-Policy", "upgrade-insecure-requests")
|
||||||
|
}
|
||||||
|
|
||||||
if user == &GuestUser {
|
if user == &GuestUser {
|
||||||
usercpy.LastIP = host
|
usercpy.LastIP = host
|
||||||
|
|
|
@ -58,7 +58,7 @@ func NewDefaultUserStore(cache UserCache) (*DefaultUserStore, error) {
|
||||||
getByName: acc.Select("users").Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, url_prefix, url_name, level, score, liked, last_ip, temp_group").Where("name = ?").Prepare(),
|
getByName: acc.Select("users").Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, url_prefix, url_name, level, score, liked, last_ip, temp_group").Where("name = ?").Prepare(),
|
||||||
getOffset: acc.Select("users").Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, url_prefix, url_name, level, score, liked, last_ip, temp_group").Orderby("uid ASC").Limit("?,?").Prepare(),
|
getOffset: acc.Select("users").Columns("uid, name, group, active, is_super_admin, session, email, avatar, message, url_prefix, url_name, level, score, liked, last_ip, temp_group").Orderby("uid ASC").Limit("?,?").Prepare(),
|
||||||
exists: acc.SimpleSelect("users", "uid", "uid = ?", "", ""),
|
exists: acc.SimpleSelect("users", "uid", "uid = ?", "", ""),
|
||||||
register: acc.SimpleInsert("users", "name, email, password, salt, group, is_super_admin, session, active, message, createdAt, lastActiveAt", "?,?,?,?,?,0,'',?,'',UTC_TIMESTAMP(),UTC_TIMESTAMP()"), // TODO: Implement user_count on users_groups here
|
register: acc.Insert("users").Columns("name, email, password, salt, group, is_super_admin, session, active, message, createdAt, lastActiveAt, lastLiked, oldestItemLikedCreatedAt").Fields("?,?,?,?,?,0,'',?,'',UTC_TIMESTAMP(),UTC_TIMESTAMP(),UTC_TIMESTAMP(),UTC_TIMESTAMP()").Prepare(), // TODO: Implement user_count on users_groups here
|
||||||
usernameExists: acc.SimpleSelect("users", "name", "name = ?", "", ""),
|
usernameExists: acc.SimpleSelect("users", "name", "name = ?", "", ""),
|
||||||
userCount: acc.SimpleCount("users", "", ""),
|
userCount: acc.SimpleCount("users", "", ""),
|
||||||
}, acc.FirstError()
|
}, acc.FirstError()
|
||||||
|
|
|
@ -37,7 +37,7 @@ func createAdmin() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the admin user query
|
// Build the admin user query
|
||||||
adminUserStmt, err := qgen.Builder.SimpleInsert("users", "name, password, salt, email, group, is_super_admin, active, createdAt, lastActiveAt, message, last_ip", "'Admin',?,?,'admin@localhost',1,1,1,UTC_TIMESTAMP(),UTC_TIMESTAMP(),'','127.0.0.1'")
|
adminUserStmt, err := qgen.Builder.SimpleInsert("users", "name, password, salt, email, group, is_super_admin, active, createdAt, lastActiveAt, lastLiked, oldestItemLikedCreatedAt, message, last_ip", "'Admin',?,?,'admin@localhost',1,1,1,UTC_TIMESTAMP(),UTC_TIMESTAMP(),UTC_TIMESTAMP(),UTC_TIMESTAMP(),'','127.0.0.1'")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,11 @@
|
||||||
"register_username_too_long_prefix":"The username is too long, max: ",
|
"register_username_too_long_prefix":"The username is too long, max: ",
|
||||||
"register_email_fail":"We were unable to send the email for you to confirm that this email address belongs to you. You may not have access to some functionality until you do so. Please ask an administrator for assistance.",
|
"register_email_fail":"We were unable to send the email for you to confirm that this email address belongs to you. You may not have access to some functionality until you do so. Please ask an administrator for assistance.",
|
||||||
|
|
||||||
|
"alerts_no_actor":"Unable to find the actor",
|
||||||
|
"alerts_no_target_user":"Unable to find the target user",
|
||||||
"alerts_no_linked_topic":"Unable to find the linked topic",
|
"alerts_no_linked_topic":"Unable to find the linked topic",
|
||||||
|
"alerts_no_linked_topic_by_reply":"Unable to find the linked reply or parent topic",
|
||||||
|
"alerts_invalid_elementtype":"Invalid elementType",
|
||||||
|
|
||||||
"panel_groups_need_name":"The group name can't be left blank.",
|
"panel_groups_need_name":"The group name can't be left blank.",
|
||||||
"panel_groups_cannot_edit_admin":"You need the EditGroupAdmin permission to edit an admin group.",
|
"panel_groups_cannot_edit_admin":"You need the EditGroupAdmin permission to edit an admin group.",
|
||||||
|
@ -315,30 +319,32 @@
|
||||||
"menu_login":"Login",
|
"menu_login":"Login",
|
||||||
"menu_register":"Register",
|
"menu_register":"Register",
|
||||||
|
|
||||||
"alerts_forum_new_topic":"{0} created the topic {1}",
|
"alerts.forum_new_topic":"{0} created the topic {1}",
|
||||||
"alerts_forum_unknown_action":"{0} did something in a forum",
|
"alerts.forum_unknown_action":"{0} did something in a forum",
|
||||||
|
|
||||||
"alerts_topic_own_reply":"{0} replied to your topic {1}",
|
|
||||||
"alerts_topic_reply":"{0} replied to {1}",
|
|
||||||
"alerts_topic_own_like":"{0} liked your topic {1}",
|
|
||||||
"alerts_topic_like":"{0} liked {1}",
|
|
||||||
"alerts_topic_own_mention":"{0} mentioned you in {1}",
|
|
||||||
"alerts_topic_mention":"{0} mentioned you in {1}",
|
|
||||||
|
|
||||||
"alerts_post_own_reply":"{0} replied to your post in {1}",
|
"alerts.topic_own_reply":"{0} replied to your topic {1}",
|
||||||
"alerts_post_reply":"{0} replied to {1}",
|
"alerts.topic_reply":"{0} replied to {1}",
|
||||||
"alerts_post_own_like":"{0} liked your post in {1}",
|
"alerts.topic_own_like":"{0} liked your topic {1}",
|
||||||
"alerts_post_like":"{0} liked a post in {1}",
|
"alerts.topic_like":"{0} liked {1}",
|
||||||
"alerts_post_own_mention":"{0} mentioned you in {1}",
|
"alerts.topic_own_mention":"{0} mentioned you in {1}",
|
||||||
"alerts_post_mention":"{0} mentioned you in {1}",
|
"alerts.topic_mention":"{0} mentioned you in {1}",
|
||||||
|
|
||||||
"alerts_user_own_reply":"{0} made a post on your profile",
|
"alerts.post_own_reply":"{0} replied to your post in {1}",
|
||||||
"alerts_user_reply":"{0} posted on {1}'s profile",
|
"alerts.post_reply":"{0} replied to {1}",
|
||||||
"alerts_user_own_like":"{0} likes you",
|
"alerts.post_own_like":"{0} liked your post in {1}",
|
||||||
"alerts_user_like":"{0} likes {1}",
|
"alerts.post_like":"{0} liked a post in {1}",
|
||||||
"alerts_user_own_mention":"{0} mentioned you on your profile",
|
"alerts.post_own_mention":"{0} mentioned you in {1}",
|
||||||
"alerts_user_mention":"{0} mentioned you on {1}'s profile",
|
"alerts.post_mention":"{0} mentioned you in {1}",
|
||||||
"alerts_new_friend_invite":"You received a friend invite from {0}",
|
|
||||||
|
"alerts.user_own_reply":"{0} made a post on your profile",
|
||||||
|
"alerts.user_reply":"{0} posted on {1}'s profile",
|
||||||
|
"alerts.user_own_like":"{0} likes you",
|
||||||
|
"alerts.user_like":"{0} likes {1}",
|
||||||
|
"alerts.user_own_mention":"{0} mentioned you on your profile",
|
||||||
|
"alerts.user_mention":"{0} mentioned you on {1}'s profile",
|
||||||
|
"alerts.new_friend_invite":"You received a friend invite from {0}",
|
||||||
|
|
||||||
|
"alerts.no_alerts":"You don't have any alerts",
|
||||||
|
|
||||||
"topics_click_topics_to_select":"Click the topics to select them",
|
"topics_click_topics_to_select":"Click the topics to select them",
|
||||||
"topics_new_topic":"New Topic",
|
"topics_new_topic":"New Topic",
|
||||||
|
|
|
@ -81,7 +81,7 @@ function updateAlertList(menuAlerts) {
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(outList == "") outList = "<div class='alertItem'>You don't have any alerts</div>";
|
if(outList == "") outList = "<div class='alertItem'>"+phraseBox["alerts"]["alerts.no_alerts"]+"</div>";
|
||||||
alertListNode.innerHTML = outList;
|
alertListNode.innerHTML = outList;
|
||||||
|
|
||||||
if(alertCount != 0) {
|
if(alertCount != 0) {
|
||||||
|
@ -489,7 +489,6 @@ function mainInit(){
|
||||||
$(".submit_edit").click(function(event)
|
$(".submit_edit").click(function(event)
|
||||||
{
|
{
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
//console.log("running .submit_edit event");
|
|
||||||
var outData = {isJs: "1"}
|
var outData = {isJs: "1"}
|
||||||
var blockParent = $(this).closest('.editable_parent');
|
var blockParent = $(this).closest('.editable_parent');
|
||||||
blockParent.find('.editable_block').each(function() {
|
blockParent.find('.editable_block').each(function() {
|
||||||
|
@ -569,8 +568,9 @@ function mainInit(){
|
||||||
var fileList = this.files;
|
var fileList = this.files;
|
||||||
// Truncate the number of files to 5
|
// Truncate the number of files to 5
|
||||||
let files = [];
|
let files = [];
|
||||||
for(var i = 0; i < fileList.length && i < 5; i++)
|
for(var i = 0; i < fileList.length && i < 5; i++) {
|
||||||
files[i] = fileList[i];
|
files[i] = fileList[i];
|
||||||
|
}
|
||||||
|
|
||||||
// Iterate over the files
|
// Iterate over the files
|
||||||
let totalSize = 0;
|
let totalSize = 0;
|
||||||
|
|
|
@ -92,7 +92,7 @@ function DoNothingButPassBack(item) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function fetchPhrases() {
|
function fetchPhrases() {
|
||||||
fetch("/api/phrases/?query=status,topic_list")
|
fetch("/api/phrases/?query=status,topic_list,alerts")
|
||||||
.then((resp) => resp.json())
|
.then((resp) => resp.json())
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
console.log("loaded phrase endpoint data");
|
console.log("loaded phrase endpoint data");
|
||||||
|
|
|
@ -141,6 +141,9 @@ func (adapter *MysqlAdapter) parseColumn(column DBTableColumn) (col DBTableColum
|
||||||
// Make it easier to support Cassandra in the future
|
// Make it easier to support Cassandra in the future
|
||||||
if column.Type == "createdAt" {
|
if column.Type == "createdAt" {
|
||||||
column.Type = "datetime"
|
column.Type = "datetime"
|
||||||
|
if column.Default == "" {
|
||||||
|
column.Default = "UTC_TIMESTAMP()"
|
||||||
|
}
|
||||||
} else if column.Type == "json" {
|
} else if column.Type == "json" {
|
||||||
column.Type = "text"
|
column.Type = "text"
|
||||||
}
|
}
|
||||||
|
@ -151,7 +154,9 @@ func (adapter *MysqlAdapter) parseColumn(column DBTableColumn) (col DBTableColum
|
||||||
// TODO: Exclude the other variants of text like mediumtext and longtext too
|
// TODO: Exclude the other variants of text like mediumtext and longtext too
|
||||||
if column.Default != "" && column.Type != "text" {
|
if column.Default != "" && column.Type != "text" {
|
||||||
end = " DEFAULT "
|
end = " DEFAULT "
|
||||||
if adapter.stringyType(column.Type) && column.Default != "''" {
|
if column.Type == "datetime" && column.Default[len(column.Default)-1] == ')' {
|
||||||
|
end += column.Default
|
||||||
|
} else if adapter.stringyType(column.Type) && column.Default != "''" {
|
||||||
end += "'" + column.Default + "'"
|
end += "'" + column.Default + "'"
|
||||||
} else {
|
} else {
|
||||||
end += column.Default
|
end += column.Default
|
||||||
|
|
|
@ -204,12 +204,19 @@ func createTables(adapter qgen.Adapter) error {
|
||||||
qgen.DBTableColumn{"createdBy", "int", 0, false, false, ""}, // TODO: Make this a foreign key
|
qgen.DBTableColumn{"createdBy", "int", 0, false, false, ""}, // TODO: Make this a foreign key
|
||||||
qgen.DBTableColumn{"is_closed", "boolean", 0, false, false, "0"},
|
qgen.DBTableColumn{"is_closed", "boolean", 0, false, false, "0"},
|
||||||
qgen.DBTableColumn{"sticky", "boolean", 0, false, false, "0"},
|
qgen.DBTableColumn{"sticky", "boolean", 0, false, false, "0"},
|
||||||
|
// TODO: Add an index for this
|
||||||
qgen.DBTableColumn{"parentID", "int", 0, false, false, "2"},
|
qgen.DBTableColumn{"parentID", "int", 0, false, false, "2"},
|
||||||
qgen.DBTableColumn{"ipaddress", "varchar", 200, false, false, "0.0.0.0.0"},
|
qgen.DBTableColumn{"ipaddress", "varchar", 200, false, false, "0.0.0.0.0"},
|
||||||
qgen.DBTableColumn{"postCount", "int", 0, false, false, "1"},
|
qgen.DBTableColumn{"postCount", "int", 0, false, false, "1"},
|
||||||
qgen.DBTableColumn{"likeCount", "int", 0, false, false, "0"},
|
qgen.DBTableColumn{"likeCount", "int", 0, false, false, "0"},
|
||||||
qgen.DBTableColumn{"words", "int", 0, false, false, "0"},
|
qgen.DBTableColumn{"words", "int", 0, false, false, "0"},
|
||||||
qgen.DBTableColumn{"views", "int", 0, false, false, "0"},
|
qgen.DBTableColumn{"views", "int", 0, false, false, "0"},
|
||||||
|
//qgen.DBTableColumn{"dailyViews", "int", 0, false, false, "0"},
|
||||||
|
//qgen.DBTableColumn{"weeklyViews", "int", 0, false, false, "0"},
|
||||||
|
//qgen.DBTableColumn{"monthlyViews", "int", 0, false, false, "0"},
|
||||||
|
// ? - A little hacky, maybe we could do something less likely to bite us with huge numbers of topics?
|
||||||
|
// TODO: Add an index for this?
|
||||||
|
//qgen.DBTableColumn{"lastMonth", "datetime", 0, false, false, ""},
|
||||||
qgen.DBTableColumn{"css_class", "varchar", 100, false, false, "''"},
|
qgen.DBTableColumn{"css_class", "varchar", 100, false, false, "''"},
|
||||||
qgen.DBTableColumn{"poll", "int", 0, false, false, "0"},
|
qgen.DBTableColumn{"poll", "int", 0, false, false, "0"},
|
||||||
qgen.DBTableColumn{"data", "varchar", 200, false, false, "''"},
|
qgen.DBTableColumn{"data", "varchar", 200, false, false, "''"},
|
||||||
|
@ -435,7 +442,7 @@ func createTables(adapter qgen.Adapter) error {
|
||||||
[]qgen.DBTableColumn{
|
[]qgen.DBTableColumn{
|
||||||
qgen.DBTableColumn{"miid", "int", 0, false, true, ""},
|
qgen.DBTableColumn{"miid", "int", 0, false, true, ""},
|
||||||
qgen.DBTableColumn{"mid", "int", 0, false, false, ""},
|
qgen.DBTableColumn{"mid", "int", 0, false, false, ""},
|
||||||
qgen.DBTableColumn{"name", "varchar", 200, false, false, ""},
|
qgen.DBTableColumn{"name", "varchar", 200, false, false, "''"},
|
||||||
qgen.DBTableColumn{"htmlID", "varchar", 200, false, false, "''"},
|
qgen.DBTableColumn{"htmlID", "varchar", 200, false, false, "''"},
|
||||||
qgen.DBTableColumn{"cssClass", "varchar", 200, false, false, "''"},
|
qgen.DBTableColumn{"cssClass", "varchar", 200, false, false, "''"},
|
||||||
qgen.DBTableColumn{"position", "varchar", 100, false, false, ""},
|
qgen.DBTableColumn{"position", "varchar", 100, false, false, ""},
|
||||||
|
@ -590,5 +597,12 @@ func createTables(adapter qgen.Adapter) error {
|
||||||
[]qgen.DBTableKey{},
|
[]qgen.DBTableKey{},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
/*qgen.Install.CreateTable("updates", "", "",
|
||||||
|
[]qgen.DBTableColumn{
|
||||||
|
qgen.DBTableColumn{"dbVersion", "int", 0, false, false, "0"},
|
||||||
|
},
|
||||||
|
[]qgen.DBTableKey{},
|
||||||
|
)*/
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -163,7 +163,7 @@ func routeAPIPhrases(w http.ResponseWriter, r *http.Request, user common.User) c
|
||||||
phrases = make(map[string]string)
|
phrases = make(map[string]string)
|
||||||
for _, positive := range positives {
|
for _, positive := range positives {
|
||||||
// ! Constrain it to topic and status phrases for now
|
// ! Constrain it to topic and status phrases for now
|
||||||
if !strings.HasPrefix(positive, "topic") && !strings.HasPrefix(positive, "status") {
|
if !strings.HasPrefix(positive, "topic") && !strings.HasPrefix(positive, "status") && !strings.HasPrefix(positive, "alerts") {
|
||||||
return common.PreErrorJS("Not implemented!", w, r)
|
return common.PreErrorJS("Not implemented!", w, r)
|
||||||
}
|
}
|
||||||
pPhrases, ok := common.GetTmplPhrasesByPrefix(positive)
|
pPhrases, ok := common.GetTmplPhrasesByPrefix(positive)
|
||||||
|
@ -176,7 +176,7 @@ func routeAPIPhrases(w http.ResponseWriter, r *http.Request, user common.User) c
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// ! Constrain it to topic and status phrases for now
|
// ! Constrain it to topic and status phrases for now
|
||||||
if !strings.HasPrefix(positives[0], "topic") && !strings.HasPrefix(positives[0], "status") {
|
if !strings.HasPrefix(positives[0], "topic") && !strings.HasPrefix(positives[0], "status") && !strings.HasPrefix(positives[0], "alerts") {
|
||||||
return common.PreErrorJS("Not implemented!", w, r)
|
return common.PreErrorJS("Not implemented!", w, r)
|
||||||
}
|
}
|
||||||
pPhrases, ok := common.GetTmplPhrasesByPrefix(positives[0])
|
pPhrases, ok := common.GetTmplPhrasesByPrefix(positives[0])
|
||||||
|
|
Loading…
Reference in New Issue