Users.pm & ADDRESS_REGISTER

Ответить
aivanzipper
Сообщения: 20
Зарегистрирован: Пт июл 01, 2011 10:52 am

Users.pm & ADDRESS_REGISTER

Сообщение aivanzipper » Вт окт 18, 2011 8:40 am

При включенной опции ADDRESS_REGISTER=1 поиск по имени улицы реализован, а по номеру дома нет. Поэтому по аналогии предлагаю добавить возможность в файл Users.pm

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

if ($attr->{ADDRESS_BUILD}) {
      push @WHERE_RULES, @{ $self->search_expr($attr->{ADDRESS_BUILD}, 'STR', 'pi.address_build', { EXT_FIELD => 1 }) };
}
заменить на

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

if ($CONF->{ADDRESS_REGISTER}) {
     if ($attr->{ADDRESS_BUILD}) {
          push @WHERE_RULES, @{ $self->search_expr($attr->{ADDRESS_BUILD}, 'STR', 'builds.number', { EXT_FIELD => 'builds.number' }) };
          $EXT_TABLES .= "INNER JOIN builds ON (builds.id=pi.location_id)";
     }
 }
 elsif ($attr->{ADDRESS_BUILD}) {
     push @WHERE_RULES, @{ $self->search_expr($attr->{ADDRESS_BUILD}, 'STR', 'pi.address_build', { EXT_FIELD => 1 }) };
}
проверено, работает

~AsmodeuS~
Site Admin
Сообщения: 5707
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Users.pm & ADDRESS_REGISTER

Сообщение ~AsmodeuS~ » Вт окт 18, 2011 9:12 am

спасибо добавили

aivanzipper
Сообщения: 20
Зарегистрирован: Пт июл 01, 2011 10:52 am

Re: Users.pm & ADDRESS_REGISTER

Сообщение aivanzipper » Ср окт 19, 2011 10:33 am

нашлась бага - одновременно улицу и дом не хочет искать, поправка к первому посту:
заменить на:

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

if ($CONF->{ADDRESS_REGISTER}) {
     if ($attr->{ADDRESS_BUILD}) {
          push @WHERE_RULES, @{ $self->search_expr($attr->{ADDRESS_BUILD}, 'STR', 'builds.number', { EXT_FIELD => 'builds.number' }) };
          $EXT_TABLES .= "INNER JOIN builds ON (builds.id=pi.location_id)" if !$attr->{ADDRESS_STREET};
     }
}
elsif ($attr->{ADDRESS_BUILD}) {
     push @WHERE_RULES, @{ $self->search_expr($attr->{ADDRESS_BUILD}, 'STR', 'pi.address_build', { EXT_FIELD => 1 }) };
}

Ответить