WIP - set Discourse.currentUser

This commit is contained in:
Mark VanLandingham 2019-11-13 08:17:06 -06:00 committed by Robin Ward
parent 38cc1962e7
commit 4843414de6
3 changed files with 12 additions and 6 deletions

View File

@ -8,7 +8,6 @@ import { computed } from "@ember/object";
import FocusEvent from "discourse-common/mixins/focus-event"; import FocusEvent from "discourse-common/mixins/focus-event";
import EmberObject from "@ember/object"; import EmberObject from "@ember/object";
import deprecated from "discourse-common/lib/deprecated"; import deprecated from "discourse-common/lib/deprecated";
import User from "discourse/models/user";
const _pluginCallbacks = []; const _pluginCallbacks = [];
@ -63,7 +62,10 @@ const Discourse = Ember.Application.extend(FocusEvent, {
} }
var displayCount = this.displayCount; var displayCount = this.displayCount;
if (displayCount > 0 && !User.currentProp("dynamic_favicon")) { var dynamicFavicon = this.currentUser
? !this.currentUser.get("dynamic_favicon")
: false;
if (displayCount > 0 && dynamicFavicon) {
title = `(${displayCount}) ${title}`; title = `(${displayCount}) ${title}`;
} }
@ -72,15 +74,15 @@ const Discourse = Ember.Application.extend(FocusEvent, {
@discourseComputed("contextCount", "notificationCount") @discourseComputed("contextCount", "notificationCount")
displayCount() { displayCount() {
return User.current() && return this.currentUser &&
User.currentProp("title_count_mode") === "notifications" this.currentUser.get("title_count_mode") === "notifications"
? this.notificationCount ? this.notificationCount
: this.contextCount; : this.contextCount;
}, },
@observes("contextCount", "notificationCount") @observes("contextCount", "notificationCount")
faviconChanged() { faviconChanged() {
if (User.currentProp("dynamic_favicon")) { if (this.currentUser && this.currentUser.get("dynamic_favicon")) {
let url = Discourse.SiteSettings.site_favicon_url; let url = Discourse.SiteSettings.site_favicon_url;
// Since the favicon is cached on the browser for a really long time, we // Since the favicon is cached on the browser for a really long time, we

View File

@ -2,6 +2,7 @@ import Session from "discourse/models/session";
import KeyValueStore from "discourse/lib/key-value-store"; import KeyValueStore from "discourse/lib/key-value-store";
import Store from "discourse/models/store"; import Store from "discourse/models/store";
import DiscourseLocation from "discourse/lib/discourse-location"; import DiscourseLocation from "discourse/lib/discourse-location";
import Discourse from "discourse";
import SearchService from "discourse/services/search"; import SearchService from "discourse/services/search";
import { import {
startTracking, startTracking,
@ -33,6 +34,7 @@ export default {
const currentUser = User.current(); const currentUser = User.current();
app.register("current-user:main", currentUser, { instantiate: false }); app.register("current-user:main", currentUser, { instantiate: false });
Discourse.currentUser = currentUser;
const topicTrackingState = TopicTrackingState.create({ const topicTrackingState = TopicTrackingState.create({
messageBus, messageBus,

View File

@ -118,10 +118,12 @@ QUnit.testStart(function(ctx) {
Discourse.BaseUri = ""; Discourse.BaseUri = "";
Discourse.BaseUrl = "http://localhost:3000"; Discourse.BaseUrl = "http://localhost:3000";
let User = require("discourse/models/user").default;
let Session = require("discourse/models/session").default; let Session = require("discourse/models/session").default;
Session.resetCurrent(); Session.resetCurrent();
Discourse.User.resetCurrent(); User.resetCurrent();
resetSite(Discourse.SiteSettings); resetSite(Discourse.SiteSettings);
Discourse.currentUser = User.current();
_DiscourseURL.redirectedTo = null; _DiscourseURL.redirectedTo = null;
_DiscourseURL.redirectTo = function(url) { _DiscourseURL.redirectTo = function(url) {