# Импортируйте класс User вместо использования User

**URL:** https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586
**Category:** Development
**Created:** [23.Январь.2020 22:52:39 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586 "2020-01-23T22:52:39Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![Varsii](https://avatars.discourse-cdn.com/v4/letter/v/bc79bd/32.png) [@Varsii](https://meta.discourse.org/u/Varsii)
#### Post date: [23.Январь.2020 22:52:39 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/1 "2020-01-23T22:52:39Z")

</div>

Здравствуйте, уважаемое сообщество,  
У меня есть время, чтобы исправить предупреждения в нашем сообществе. Одно из них следующее:

> Уведомление об устаревании: Импортируйте класс User вместо использования User (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.6.0)

Я пытаюсь отладить это через DevTools, но они не позволяют мне открыть файл, из которого исходит предупреждение. Система сообщает:

> Не удалось загрузить содержимое для URL/assets/var/www/discourse/public/assets/\_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js : Код состояния HTTP: 404

В любом случае, я перешел в безопасный режим, оставив только тему. Похоже, что предупреждение исходит из моей темы. В теме я обнаружил, что в одном из HTML-файлов использую:

```plaintext
<script type="text/discourse-plugin" version="0.8.13">
api.decorateWidget('header:before', helper => {
  // ... код
  var currentUser = Discourse.User.current();
  // ... код
});
</script>

```

Таким образом, мои технические вопросы следующие:

1. Может ли предупреждение исходить из этой строки? Если да, то как мне импортировать `User` и исправить предупреждение?
2. Как мне отлаживать сжатые JS-файлы через DevTools?

Заранее спасибо! 🙂

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [23.Январь.2020 23:27:24 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/2 "2020-01-23T23:27:24Z")

</div>

Измените

`var currentUser = Discourse.User.current();`

на

`var currentUser = api.getCurrentUser();`

---

<div class="post-metadata">

### Author: ![Varsii](https://avatars.discourse-cdn.com/v4/letter/v/bc79bd/32.png) [@Varsii](https://meta.discourse.org/u/Varsii)
#### Post date: [23.Январь.2020 23:28:24 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/3 "2020-01-23T23:28:24Z")

</div>

Не нужно ничего импортировать, как сказано в сообщении?

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [23.Январь.2020 23:29:11 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/4 "2020-01-23T23:29:11Z")

</div>

Нет, поскольку API уже предоставляет это для вас.

---

<div class="post-metadata">

### Author: ![Varsii](https://avatars.discourse-cdn.com/v4/letter/v/bc79bd/32.png) [@Varsii](https://meta.discourse.org/u/Varsii)
#### Post date: [23.Январь.2020 23:37:44 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/5 "2020-01-23T23:37:44Z")

</div>

Отлично! Большое спасибо 🙂  
Похоже, мне нужно исправить ещё несколько мест, например `Discourse.Site.currentProp('trustLevels')`.  
Есть ли какая-то документация, которую я мог бы прочитать, чтобы понять, какой метод использовать вместо устаревших?

---

<div class="post-metadata">

### Author: ![frictionel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/frictionel/32/299701_2.png) [@frictionel](https://meta.discourse.org/u/frictionel)
#### Post date: [05.Март.2020 18:38:57 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/6 "2020-03-05T18:38:57Z")

</div>

У меня та же ситуация. Нужно ли мне заменить `Discourse.Site.currentProp('user_fields')` (см. [здесь](https://meta.discourse.org/t/link-custom-user-field-to-external-website/41218)) на что-то другое?

---

<div class="post-metadata">

### Author: ![iidbae](https://avatars.discourse-cdn.com/v4/letter/i/a183cd/32.png) [@iidbae](https://meta.discourse.org/u/iidbae)
#### Post date: [01.Октябрь.2020 09:35:41 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/7 "2020-10-01T09:35:41Z")

</div>

Думаю, эта тема должна относиться к категории [Support - Discourse Meta](https://meta.discourse.org/c/support/6).

У меня та же проблема: _Уведомление о устаревании: Импортируйте класс User вместо использования User (устарело с версии Discourse 2.4.0) (удаление в версии Discourse 2.6.0)_ в последней версии 2.6.0.beta3.

Мой форум работает медленно при первом посещении пользователем.

> [@Falco](#):
>
> Измените
> 
> `var currentUser = Discourse.User.current();`
> 
> на
> 
> `var currentUser = api.getCurrentUser();`

Не могли бы вы объяснить, с чего мне начать? Как изменить это значение? Через панель администратора?

Спасибо.

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [01.Октябрь.2020 09:38:14 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/8 "2020-10-01T09:38:14Z")

</div>

Эти уведомления об устаревании адресованы разработчикам тем и плагинов.

«Если вы не знаете, как это сделать, значит, это не ваша работа».

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [01.Октябрь.2020 09:43:11 UTC](https://meta.discourse.org/t/import-the-user-class-instead-of-using-user/139586/9 "2020-10-01T09:43:11Z")

</div>

Если вы разработчик тем и используете что-то помимо `User.current()`, то замена выглядит так:

```plaintext
const User = require('discourse/model/user').default;

```
