Профили

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Профили

Профили

Сообщение Alex Keda » 2015-01-28 18:49:34

и в гит помоему кидал.

Профили

Сообщение tasselchof » 2015-01-28 14:24:42

В JIRA - да, а вот в гит - нет =)

Скинул в личку мейл.

Профили

Сообщение Alex Keda » 2015-01-28 12:10:41

я инвайт вроде кидал пару лет назад же

Отправлено спустя 3 минуты 23 секунды:
мыло надо

Профили

Сообщение tasselchof » 2015-01-28 1:23:49

Ничего не будет - если у вас нету аккаунтов с профилем ResellerPartner, то просто не будет работать возможность, профиль всегда будет 100. Вообще я могу подключится, мы этот биллинг на сайте в личке будем постоянно использовать. Но давайте тогда доступ в гит сделаем (у меня в JIRA есть, но в код нету). Я сделаю себе отдельную ветку и с тестового сайта коммиты мерджить будете, когда они на моем бою будут оттестированы.

Профили

Сообщение Alex Keda » 2015-01-26 18:55:29

И чё будет с рефералами?
У меня таких - не одна сотня. А у них тоже овнер != 100

Отправлено спустя 4 минуты 58 секунд:
Хочу заметить, что лично мне, каждый день активной разработки стоит приличных денег.
Потому что из-за ошибок клиенты не могут зарегаться, оплатить, заказать и т.п.

Так что такие фичи, по-быстрому, я прикручивать не готов.

Профили

Сообщение tasselchof » 2015-01-26 12:48:59

Конкретно эти правки - независимы блок в инициализации и 3 символа заменить на 15 в 5 файлах, сделай, а? =)

Делов на 10 минут.

Я уже у себя протестировал.

Профили

Сообщение Alex Keda » 2015-01-26 12:17:52

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

Профили

Сообщение tasselchof » 2015-01-26 4:35:27

Включите в апдейт, делается быстро:

Необходимо поправить файл: ./hosts/billing/comp/Users/Init.comp.php
После строки:

Код: Выделить всё

$GLOBALS['__USER']['IsAdmin'] = $IsAdmin;

Добавляем:

Код: Выделить всё

                                $ResellerProfile = 100;
                                if($GLOBALS['__USER']['IsAdmin']) {
                                    $Profiles = DB_Select('Profiles', Array('ID'), Array('Where' => "`UserID` = @local.__USER_ID AND `TemplateID` IN ('ResellerPartner')"));
                                    switch (ValueOf($Profiles)) {
                                        case 'error':
                                            return ERROR | @Trigger_Error(500);
                                        case 'exception':
                                            # No more...
                                            break;
                                        case 'array':
                                            $ResellerProfile = $Profiles[0]['ID'];
                                            break;
                                        #-------------------------------------------------------------------------------
                                        default:
                                            return ERROR | @Trigger_Error(101);
                                    }
                                }
                                $GLOBALS['__USER']['ResellerProfileID'] = $ResellerProfile;

После этого в объекте $GLOBALS['__USER'] всегда будет указано какой профиль реестра следует использовать, если у человека есть профиль ResellerPartner, то он будет использован (функция пока доступна только для администраторов - надо дописывать права на доступ к шаблонам счетов).
Далее ищем по файлам такую строку:

Код: Выделить всё

Array('ProfileID’=>100)

Например:

Код: Выделить всё

$Executor = Comp_Load('www/Administrator/API/ProfileCompile',Array('ProfileID'=>100));

И меняем ее на:

Код: Выделить всё

Array('ProfileID'=>$GLOBALS['__USER']['ResellerProfileID'])

Например:

Код: Выделить всё

$Executor = Comp_Load('www/Administrator/API/ProfileCompile',Array('ProfileID'=>$GLOBALS['__USER']['ResellerProfileID']));


Отправлено спустя 1 минуту 6 секунд:
Суть в том, что если такой профиль создан, то будут все счета выставляться с его реквизитов и статей ResellerPartner, а не тех, которые использует головной профиль.

Отправлено спустя 2 минуты 21 секунду:
Встретил в 5 файлах всего такой вызов.

Отправлено спустя 19 минут 31 секунду:
Небольшой update для файла: ./hosts/billing/comp/Users/Init.comp.php

В выбор пользователя добавить проверку OwnerID

Код: Выделить всё

$User = DB_Select('Users', Array('ID', 'GroupID', 'Name', 'Sign', 'Email', 'EmailConfirmed', 'MobileConfirmed', 'ICQ', 'JabberID', 'Mobile', 'UniqID', 'Params', 'LayPayMaxSumm', 'LayPayThreshold', 'OwnerID'), Array('UNIQ', 'ID' => $UserID));

Код выглядит так:

Код: Выделить всё

$ResellerProfile = 100;
if($GLOBALS['__USER']['IsAdmin'] || $User['OwnerID'] != 100) {
    $Profiles = DB_Select('Profiles', Array('ID'), Array('Where' => "(`UserID` = @local.__USER_ID OR `UserID` = {$User['OwnerID']}) AND `TemplateID` IN ('ResellerPartner')"));
    switch (ValueOf($Profiles)) {
        case 'error':
            return ERROR | @Trigger_Error(500);
        case 'exception':
            # No more...
            break;
        case 'array':
            if(count($Profiles) > 0) {
                $ResellerProfile = $Profiles[0]['ID'];
            }
            break;
        #-------------------------------------------------------------------------------
        default:
            return ERROR | @Trigger_Error(101);
    }
}
$GLOBALS['__USER']['ResellerProfileID'] = $ResellerProfile;


Отправлено спустя 13 минут 22 секунды:
Все забываю про ворсинги... if должен быть таким:

Код: Выделить всё

if(!empty($__GLOBALS['__USER']['OwnerID']) && (IsSet($GLOBALS['__USER']['IsAdmin']) && $GLOBALS['__USER']['IsAdmin']) || (IsSet($GLOBALS['__USER']['OwnerID']) && $GLOBALS['__USER']['OwnerID'] != 100)) {

Профили

Сообщение tasselchof » 2015-01-24 2:56:20

Я сам запилю: я хочу добавить опцию у партнеров "Выставлять счет с реквизитов партнера" и в этом случае если аккаунт принадлежит партнеру, то выводить его реквизиты. Это, по идее, мена-просто должно быть, так как от одного идентификатора зависит. А импрув неплохой получается.

P.S. Ну мы ж говорили про профили, я и говорю про "нет возможности второй профиль сделать на головном аккаунте" =)

Профили

Сообщение Alex Keda » 2015-01-23 0:36:30

что второй?
нормально как-то излагай мысль, а? =)
--
профиль второй чтоле? договор? незнаю, не пробовал.
зайди в базу и поменяй идентификатор в табличке.

нечастый изврат-то, даже не буду искать и пилить где это ограничение зашито.

Вернуться к началу