Домой Каталог: Дополнения WP-Recall Freelance NextGen Freelance NextGen - Разделение на 2 типа аккаунта
12ответ(ов) в теме
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
1
08:15
Версия WP-Recall: 16.18.20
Версия дополнения: 1.3.3

Добрый день. Есть один вопрос по поводу разделения аккаунтов. Было приобретен profile type manager и настроен как рекомендовано. Разделение на роли работает. Но остался вопрос по разделению на роли внутри биржи. Поясню в чем именно:

При входе в ЛК есть вкладка Сделки и Заявки. Внутри вкладки само разделение на типы публикаций. Там их три(3):

- Задания Заказчик
- Задания Исполнитель
- Оставленные заявки

Вопрос в следующем. Как эти вкладки разделить в ЛК, что бы Задания Исполнитель и Оставленные заявки были доступны в одной роли, а Задания заказчик в другой роли.

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

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16968
2
10:55

Добрый день.
Вы делите пользователей по значению определенного поля профиля, какой у этого поля метакей?

0
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
3
10:59

Если я правильно понял вопрос то - Meta-key:freelance в этой вкладке ЛК находятся еще 3 вкладки которые хочется разделить

tab=freelance&subtab=customer

Вывести отдельно customer как я понял это субвкладка

Редакции сообщения
24.05.2020 11:03internetica@mail.ruПричина: не указано
0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16968
4
11:05

я спрашиваю о поле профиля, а не о вкладке, смотрите в разделе "Поля профиля", нужен метакей поля профиля по которому вы делите пользователей на группы

0
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
5
11:11

Андрей CS сказал(а)
я спрашиваю о поле профиля, а не о вкладке, смотрите в разделе "Поля профиля", нужен метакей поля профиля по которому вы делите пользователей на группы

Meta-key:tip_akkaunta_49 - по созданным двум типам профиля Исполнитель и заказчик. Но как я понял там деление идет по вкладкам меню.
Скрин

Редакции сообщения
24.05.2020 11:20internetica@mail.ruПричина: не указано
0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16968
6
11:30

такой код должен помочь

remove_action( 'init', 'fng_add_tab', 20 );
add_action( 'init', 'fng_add_custom_tab', 20 );
function fng_add_custom_tab() {
	global $user_LK;
	
	$subtabs = [];
	
	if($user_LK){
		$type = get_user_meta($user_LK, 'tip_akkaunta_49', 1);
		
		if($type == 'Заказчик'){
			$subtabs[] = [
				'id'		 => 'customer',
				'name'		 => __( 'Задания: Заказчик' ),
				'icon'		 => 'fa-handshake-o',
				'callback'	 => array(
					'name' => 'fng_get_customer_tab'
				)
			];
		}else if($type == 'Исполнитель'){
			$subtabs[] = [
				'id'		 => 'performer',
				'name'		 => __( 'Задания: Исполнитель' ),
				'icon'		 => 'fa-handshake-o',
				'callback'	 => array(
					'name' => 'fng_get_performer_tab'
				)
			];
			
			$subtabs[] = [
				'id'		 => 'requests',
				'name'		 => __( 'Оставленные заявки' ),
				'icon'		 => 'fa-handshake-o',
				'callback'	 => array(
					'name' => 'fng_get_requests_tab'
				)
			];
		}
	}

	rcl_tab(
		array(
			'id'		 => 'freelance',
			'supports'	 => array( 'ajax' ),
			'name'		 => __( 'Сделки и заявки' ),
			'public'	 => 0,
			'icon'		 => 'fa-handshake-o',
			'output'	 => 'menu',
			'content'	 => $subtabs
		)
	);
	
}

0
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
7
11:53

Спасибо!

0
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
8
16:40

1. Это интересное решение, но тогда сама вкладка становится логически не нужной и несет излишние вложения. Так как вкладка в кабинете остается - Сделки и заявки. что опять вводит в заблуждение пользователя.

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

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

2. Вопрос по чату. Как запретить общение в чате между аккаунтами? Смысл биржи пропадает, так как любой аккаунт может написать автору задания, и предложить услуги напрямую. Не должно ли работать правило что общение разрешено только между исполнителем и заказчиком в случае если заказчик выбрал исполнителя? Как решение, как запретить писать в любых других случаях кроме как при арбитраже, при выборе в качестве исполнителя?

Заранее спасибо за советы и ответы.

Редакции сообщения
24.05.2020 16:54Андрей CSПричина: не указано
0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16968
9
17:00

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

Вы не можете просматривать опубликованные ссылки

Если вы не можете этого сделать, то можете опубликовать задание в соответствующем разделе

Вы не можете просматривать опубликованные ссылки

internetica@mail.ru сказал(а)
Не должно ли работать правило что общение разрешено только между исполнителем и заказчиком в случае если заказчик выбрал исполнителя?

Не должно. Это вам требуется что то запрещать, по-умолчанию таких ограничений нет, на этом сайте то же, не вижу в этом смысла.
Вы можете скрыть вкладку чата, сделать ее недоступной, возможности у вас для этого есть через настройки вкладки или в настройках доступа к разделам ЛК от дополнения profile types manager

0
internetica@mail.ru
не в сети 5 лет
На сайте с 15.10.2018
Участник
Тем 1
Сообщения 6
10
18:07

Получается что profile types manager по своей сути не умеет разделять роли аккаунтов биржи фриланса из коробки(хотя в теме по плагину он был рекомендован как умеющий). Суть покупки расширений, использование в рамках админ панели без доработок и API. Если бы хотелось дорабатывать, писали бы сами. Суть покупки сэкономить время за счет денег).

Где то на сайте видели что Вы спрашиваете что дополнить или что улучшить в плагинах. Напишите аддон для profile types manager и биржи фриланса, как обновление или как новый аддон в виде нового продукта. Купим. Хотя уже куплены оба, но решения нет.

Сейчас он не решает вопроса разделения ролей в бирже, так как если убрать все остальные вкладки в кабинете, кроме тех что относятся к бирже, разделять не чего. Именно по причине того, что пункты которые нужно разделить, не находятся на том уровне, который разделяет profile types manager из админки (речь о работе с кодом не идет)

Простая доработка решит много проблем, в особенности по универсальности и гибкости решений.

Спасибо за все Ваши советы и решения. Доброго дня.

0
Андрей CS
не в сети 9 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16968
11
18:46

Задача дополнения profile types manager - разделять доступ к вкладкам ЛК и со своей задачей дополнение прекрасно справляется. Кроме того, дополнение имеет подробное описание с которым вы вероятно ознакомились перед его приобретением, а значит понимали для чего это дополнение приобретается. Почему это дополнение должно "уметь" что то сверх описанного функционала - мне не ясно.
Собственно, на данный момент, вообще нет инструмента, который бы позволял работать с дочерними вкладками, а тем более, делать их родительскими из админки. Без кода, в данном случае, вам видимо не обойтись.
Я дал выше ссылку на функцию, с помощью которой вы можете зарегистрировать дочерние вкладки в качестве родительских, учитывая, что приведенный мной код выше содержит все данные нужных вкладок, вашу задачу можно решить с помощью только этого.
Вот, накидал код, который перерегистрирует дочерние вкладки в качестве родительских, возможно, поможет

remove_action( 'init', 'fng_add_tab', 20 );
add_action( 'init', 'fng_add_custom_tabs', 20 );
function fng_add_custom_tabs() {
	global $user_LK, $user_ID;
	
	$isAdmin = rcl_is_user_role($user_ID, 'administrator');

	if($user_LK || $isAdmin){
	
		$type = get_user_meta($user_LK, 'tip_akkaunta_49', 1);
		
		if($type == 'Заказчик' || $isAdmin){
		
			rcl_tab(
				array(
					'id'		 => 'fng-customer',
					'name'		 => __( 'Задания: Заказчик' ),
					'public'	 => 0,
					'icon'		 => 'fa-handshake-o',
					'output'	 => 'menu',
					'content'	 => [
						[
							'callback'	 => array(
								'name' => 'fng_get_customer_tab'
							)
						]
					]
				)
			);

		}
		
		if($type == 'Исполнитель' || $isAdmin){
		
			rcl_tab(
				array(
					'id'		 => 'fng-performer',
					'name'		 => __( 'Задания: Исполнитель' ),
					'public'	 => 0,
					'icon'		 => 'fa-handshake-o',
					'output'	 => 'menu',
					'content'	 => [
						[
							'callback'	 => array(
								'name' => 'fng_get_performer_tab'
							)
						]
					]
				)
			);
			
			rcl_tab(
				array(
					'id'		 => 'fng-requests',
					'name'		 => __( 'Оставленные заявки' ),
					'public'	 => 0,
					'icon'		 => 'fa-handshake-o',
					'output'	 => 'menu',
					'content'	 => [
						[
							'callback'	 => array(
								'name' => 'fng_get_requests_tab'
							)
						]
					]
				)
			);

		}
	}
	
}

Редакции сообщения
24.05.2020 18:56Андрей CSПричина: не указано
24.05.2020 19:05Андрей CSПричина: не указано
24.05.2020 19:12Андрей CSПричина: не указано
0
Hawk
не в сети 4 года
На сайте с 19.08.2020
Участник
Тем 3
Сообщения 4
12
00:05

Тоже не совсем понимаю, зачем заказчику видеть суб вкладки исполнителя? И наоборот.
Логично ведь что аккаунты разные и кому надо, тот добавит. Выслали выше код, куда его вставить? Как его вставить?

0
Вы не имеете права на публикацию сообщений в этой теме