Редактирование контакта.

Опять перемены. Оказывается что если не стоит приложение "Команда" редактировать свой контакт вы не можете. Это плохо, ну да ладно. Пришлось поставить это приложение хотя в нем нет необходимости.

На главной странице бакенда есть "Лента событий" Она видна всем пользователям бакенда, но вот нажав на имя попадаешь на

<h2 id="Title">Access to this app denied code 403</h2>
<h3>/var/www/racheev.ru/data/www/racheev.ru/wa-system/waSystem.class.php (530)</h3>
## /var/www/racheev.ru/data/www/racheev.ru/wa-system/waSystem.class.php(530)
#0 /var/www/racheev.ru/data/www/racheev.ru/wa-system/waSystem.class.php(476): waSystem->dispatchBackend('m/contacts/')
#1 /var/www/racheev.ru/data/www/racheev.ru/index.php(7): waSystem->dispatch()
#2 {main}
<h3>/var/www/racheev.ru/data/www/racheev.ru/wa-system/waSystem.class.php around line 530</h3>
525	            throw new waException("Page not found", 404);
   526	        }
   527	
   528	        // Make sure user has access to active app
   529	        if ($app != 'webasyst' && !$this->getUser()->getRights($app, 'backend')) {
 >>530	            throw new waRightsException('Access to this app denied', 403);
   531	        }
   532	
   533	        // Init system app
   534	        wa('webasyst');
   535
<h2>Request</h2>
array()
<h2>Params</h2>

array()


Надо бы придумать что-то. Всем пользователям не обязательно иметь доступ к контактам, так и сделайте проверку на активность ссылки.. Если есть доступ пусть переходит, если нет то пусть будет просто имя.

16 ответов

  • 1
    racheev 6 декабря 2016 19:17 #

    Ах да, забыл. На только что вновь установленной системе после регистрации пользователя попробовал смниеть пароль... Не меняется. Крутится иконка и все.. Жду когда вы еще сделаете что при смене пароля в бакенде его надо будет подтвердить.. А то поменять можно на что угодно...

  • 1
    racheev 6 декабря 2016 19:19 #

    Да он вообще контакт не редактирует. ппц

  • 1
    racheev 6 декабря 2016 19:25 #

    Он редактирует контакт только тогда когда есть какой-то доступ к приложению команда. Но мне не нужен доступ к приложению команда.. Можно сделать что бы контакт могли редактировать без этого доступа и вообще без этого приложения. Вы опять сделали приложение испортив все что было настроено. Вот как после этого обновлять вашу систему. Только и жди какого-нибудь подвоха.

  • 1

    Про установку обновлений в течение первых 7-14 дней с момента их выхода :)

    - .... И — боже вас сохрани — не читайте до обеда советских газет.
    - Гм… Да ведь других нет.
    - Вот никаких и не читайте. Вы знаете, я произвел 30 наблюдений у себя в клинике. И что же вы думаете? Пациенты, не читающие газет, чувствуют себя превосходно. Те же, которых я специально заставлял читать «Правду», — теряли в весе. […] Мало этого. Пониженные коленные рефлексы, скверный аппетит, угнетенное состояние духа.
    • +1
      racheev racheev 6 декабря 2016 19:42 #

      Ваш ответ вообще не понятен. Если вы думаете что я читаю ваши мысли то вы очень сильно ошибаетесь. И на сайте этом я не пасусь что бы быть в теме всех фраз и выражений имеющих популярность у пользователей этого хаба. Одним словом я не в тренде. Ответьте по существу, как быть и что делать. Необходимо что бы пользователи бакенда могли редактировать свой контакт без доступа к приложению команда и контакты? И если есть доступ к приложению, не знаю какому удобнее, пусть команда то он не нарывался на 403 ошибку. А вообще ссылку убрать нафик оттуда.

      • +1

        racheev, извините, это был не ответ, а просто размышления на тему установки обновлений после их выхода, не более того. По существу вашей проблемы мне сказать нечего, кроме как посочувствовать, если вы с этим столкнулись на живом проекте. Если на тестовом - то, думаю, многие вас поблагодарят за локализацию ошибки, а разработчики оперативно поправят.

        • +1
          racheev racheev 6 декабря 2016 19:58 #

          Да вообщем-то этот проект готов для запуска.. Просто он собирался на домашнем сервере, ну и после установки решено было все проверить прежде чем запускать какие-то приложения.. И вот на тебе.. Редактирование контакта. С командой ладно можно пока и пожить.. Но ссылка в 403 ошибку это нонсенс..

          И вот еще вам как разработчику неплохо взять на заметку. После регистрации пользователь получает доступ куда? Правильно в кабинет. Но бывают случаи когда кабинет этот вообще не нужен. Нужен сразу доступ к бакенду. Вот подумайте возможность прямой регистрации к бакенду. А то приходится городить костыли ввиде редиректа. И вот не нашел у вас ни в хелпере ни где редирект для шаблона.

  • 1
    racheev 6 декабря 2016 19:59 #

    Вот еще косяк!!! Я сейчас опубликовал сообщение здесь.. Как вы думаете, я забыл про него?:-))) Ну естесттно нет. Но расточительно мне присылать сообщение о том что я его написал. Я же его только что создал. Зачем?????

  • 1
    Алексей Webasyst 7 декабря 2016 13:45 #

    Можете несколько формализовано описать ошибку. Потому как пока не понятно что нужно сделать для её получения.

    Команду удалили. У пользователя limit забрали все права кроме Магазина. В ленте событий он нажимает на другого пользователя и получает ошибку 403 и логичное сообщение

    You have no permission to access this page.
    
    Please refer to your system administrator.

    Что не так?

    • +1
      racheev racheev 7 декабря 2016 14:39 #

      Здравствуйте. А вы без магазина попробуйте это все проделать. Логично же что есть системы работающие не только с магазином. У меня например нет магазина, я использую фреймворк для другого проекта.

      Когда нет ничего кроме контактов:
      Нажимаем в левом верху на название сайта попадаем на главную страницу фреймворка. Слева лента событий. Если у пользователя не поставить права к контактам при нажатии на другого пользователя в ленте событий 403. Все логично кроме одного. Зачем всем пользователям права доступа к контактам? Где логика? Зачем всем знать какие есть пользователи?

      Ну ладно сделали приложение "Команда" Вроде все ничего, Я поставил пользователям возможность редактировать себя.. Но календарь им зачем всем видеть? Ну уж тогда в правах команды и доступ к календарю сделайте закрываемым. И там слева меню какое-то.. Пусть может только себя редактировать.

      • +1
        Алексей Алексей Webasyst 7 декабря 2016 16:45 #

        Забрали у пользователя все права. Лента пустая и нажимать не на кого.
        Добавили права на Блог. Появилась Лента с активностью Блога. Нажимаем на контакт и получаем ошибку доступа т.к. доступ не давали.

        Может мы не то ищем? Если и пользователя нет доступа к контактам то какую информацию он должен видеть при нажатии на другого пользователя?

        • +1
          racheev racheev 7 декабря 2016 17:43 #

          Алилуйа. Вот в том-то и дело что никакого!!! НЕ НУЖНА ТАМ ССЫЛКА НА КОНТАКТЫ!!! Люди задают тупой вопрос.. А почему тут ошибка выскакивает? Вот что им ответить? "Сам дурак"?

        • +1
          racheev racheev 7 декабря 2016 17:44 #

          Вот тут снизу предвидя ваш вопрос : #

  • 1
    racheev 10 декабря 2016 17:44 #

    Вышло обновление, а контакт как не мог редактировать себя без доступа к приложению команда или контакты так и не может:-(( Как быть-то?

  • 1
    racheev 6 января 2017 11:55 #

    АУУУУУ!!!!! Ну уберите вы ссылку на контакты-то оттуда!!!! Сделайте уж тогда не на контакты а на команду... Там хоть худо бедно свои контакты можно видеть при определенных правах.. А те кто не свои контакты ссылка не активна... Неужели так трудно 3 мя строчками кода огородить пользователей от тупых вопросов администраторам????

  • 1
    racheev 6 января 2017 12:32 #

    Вот вариант может быть например такой, в файле DashboardActivity.html в 20 строке заменить:

    <a href="{$wa_backend_url}contacts/#/contact/{$activity_item.contact_id}">{$activity_item.contact_name|escape}</a>
      
    
    на вот это:                  
    {if $wa->user("id") == $activity_item.subject_contact_id}
                        	<a href="{$wa_backend_url}team/id/{$activity_item.contact_id}/activity/">{$activity_item.contact_name|escape}</a>
                        {else}
                        	{$activity_item.contact_name|escape}
                        {/if}

    А в логах писать в subject_contact_id айди того кто добавляет контакт в приложении "Команда" лучше конечно в скриптах недоковырял где к этому всему create_contact_id. Тогда в логах не надо будет писать subject_contact_id.. хотя не понимаю для чего там это, может как раз для этой цели????

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите