فهرست منبع

Ticket #2816 - Multi - Roles in Events.

AntonLV 6 سال پیش
والد
کامیت
e4b96dc82f

+ 2 - 0
modules/boonex/events/classes/BxEventsConfig.php

@@ -80,6 +80,7 @@ class BxEventsConfig extends BxBaseModGroupsConfig
             'PARAM_PUBLIC_SBSD' => 'bx_events_public_subscribed_me',
             'PARAM_PUBLIC_SBSD' => 'bx_events_public_subscribed_me',
             'PARAM_PER_PAGE_BROWSE_SHOWCASE' => 'bx_events_per_page_browse_showcase',
             'PARAM_PER_PAGE_BROWSE_SHOWCASE' => 'bx_events_per_page_browse_showcase',
             'PARAM_PER_PAGE_BROWSE_RECOMMENDED' => 'bx_events_per_page_browse_recommended',
             'PARAM_PER_PAGE_BROWSE_RECOMMENDED' => 'bx_events_per_page_browse_recommended',
+            'PARAM_MMODE' => 'bx_events_members_mode',
             'PARAM_PER_PAGE_FOR_FAVORITES_LISTS' => 'bx_events_per_page_for_favorites_lists',
             'PARAM_PER_PAGE_FOR_FAVORITES_LISTS' => 'bx_events_per_page_for_favorites_lists',
             'PARAM_USE_IN' => 'bx_events_internal_notifications',
             'PARAM_USE_IN' => 'bx_events_internal_notifications',
 
 
@@ -187,6 +188,7 @@ class BxEventsConfig extends BxBaseModGroupsConfig
                 'txt_ntfs_join_request' => '_bx_events_txt_ntfs_join_request',
                 'txt_ntfs_join_request' => '_bx_events_txt_ntfs_join_request',
                 'txt_ntfs_fan_added' => '_bx_events_txt_ntfs_fan_added',
                 'txt_ntfs_fan_added' => '_bx_events_txt_ntfs_fan_added',
             	'txt_ntfs_timeline_post_common' => '_bx_events_txt_ntfs_timeline_post_common',
             	'txt_ntfs_timeline_post_common' => '_bx_events_txt_ntfs_timeline_post_common',
+                'option_members_mode_multi_roles' => '_bx_events_option_members_mode_multi_roles',
                 'txt_all_entries_in' => '_bx_events_txt_all_entries_in',
                 'txt_all_entries_in' => '_bx_events_txt_all_entries_in',
             	'form_field_author' => '_bx_events_form_profile_input_author',
             	'form_field_author' => '_bx_events_form_profile_input_author',
                 'menu_item_title_befriend_sent' => '_bx_events_menu_item_title_befriend_sent',
                 'menu_item_title_befriend_sent' => '_bx_events_menu_item_title_befriend_sent',

+ 2 - 0
modules/boonex/events/install/langs/en.xml

@@ -11,6 +11,8 @@
     <string name="_bx_events_option_datetime_format"><![CDATA[Date and time format]]></string>
     <string name="_bx_events_option_datetime_format"><![CDATA[Date and time format]]></string>
     <string name="_bx_events_option_summary_chars"><![CDATA[Number of characters in auto-cropped event summary]]></string>
     <string name="_bx_events_option_summary_chars"><![CDATA[Number of characters in auto-cropped event summary]]></string>
     <string name="_bx_events_option_searchable_fields"><![CDATA[Searchable fields]]></string>
     <string name="_bx_events_option_searchable_fields"><![CDATA[Searchable fields]]></string>
+    <string name="_bx_events_option_members_mode"><![CDATA[Special mode for event members]]></string>
+    <string name="_bx_events_option_members_mode_multi_roles"><![CDATA[Multi Roles]]></string>
     <string name="_bx_events_option_public_subscribed_me"><![CDATA[Public list of interested members]]></string>
     <string name="_bx_events_option_public_subscribed_me"><![CDATA[Public list of interested members]]></string>
     <string name="_bx_events_option_per_page_for_favorites_lists"><![CDATA[Number of favorite lists per page]]></string>
     <string name="_bx_events_option_per_page_for_favorites_lists"><![CDATA[Number of favorite lists per page]]></string>
     <string name="_bx_events_option_internal_notifications"><![CDATA[Use internal notifications]]></string>
     <string name="_bx_events_option_internal_notifications"><![CDATA[Use internal notifications]]></string>

+ 3 - 2
modules/boonex/events/install/sql/enable.sql

@@ -22,8 +22,9 @@ INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `e
 ('bx_events_datetime_format', 'j M Y H:i', @iCategId, '_bx_events_option_datetime_format', 'digit', '', '', '', 23),
 ('bx_events_datetime_format', 'j M Y H:i', @iCategId, '_bx_events_option_datetime_format', 'digit', '', '', '', 23),
 ('bx_events_summary_chars', '700', @iCategId, '_bx_events_option_summary_chars', 'digit', '', '', '', 25),
 ('bx_events_summary_chars', '700', @iCategId, '_bx_events_option_summary_chars', 'digit', '', '', '', 25),
 ('bx_events_searchable_fields', 'event_name,event_desc', @iCategId, '_bx_events_option_searchable_fields', 'list', 'a:2:{s:6:"module";s:9:"bx_events";s:6:"method";s:21:"get_searchable_fields";}', '', '', 30),
 ('bx_events_searchable_fields', 'event_name,event_desc', @iCategId, '_bx_events_option_searchable_fields', 'list', 'a:2:{s:6:"module";s:9:"bx_events";s:6:"method";s:21:"get_searchable_fields";}', '', '', 30),
-('bx_events_public_subscribed_me', 'on', @iCategId, '_bx_events_option_public_subscribed_me', 'checkbox', '', '', '', 40),
-('bx_events_internal_notifications', '', @iCategId, '_bx_events_option_internal_notifications', 'checkbox', '', '', '', 50);
+('bx_events_members_mode', '', @iCategId, '_bx_events_option_members_mode', 'select', 'a:2:{s:6:"module";s:9:"bx_events";s:6:"method";s:24:"get_options_members_mode";}', '', '', 40),
+('bx_events_public_subscribed_me', 'on', @iCategId, '_bx_events_option_public_subscribed_me', 'checkbox', '', '', '', 50),
+('bx_events_internal_notifications', '', @iCategId, '_bx_events_option_internal_notifications', 'checkbox', '', '', '', 60);
 
 
 -- PAGES
 -- PAGES
 
 

+ 2 - 1
modules/boonex/events/install/sql/install.sql

@@ -213,6 +213,7 @@ CREATE TABLE IF NOT EXISTS `bx_events_admins` (
   `group_profile_id` int(10) unsigned NOT NULL,
   `group_profile_id` int(10) unsigned NOT NULL,
   `fan_id` int(10) unsigned NOT NULL,
   `fan_id` int(10) unsigned NOT NULL,
   `role` int(10) unsigned NOT NULL default '0',
   `role` int(10) unsigned NOT NULL default '0',
+  `added` int(11) unsigned NOT NULL default '0',
   PRIMARY KEY (`id`),
   PRIMARY KEY (`id`),
   UNIQUE KEY `admin` (`group_profile_id`,`fan_id`)
   UNIQUE KEY `admin` (`group_profile_id`,`fan_id`)
 );
 );
@@ -452,7 +453,7 @@ INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALU
 ('bx_events_cats', '11', 11, '_bx_events_cat_Other', '');
 ('bx_events_cats', '11', 11, '_bx_events_cat_Other', '');
 
 
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
-('bx_events_roles', '_bx_events_pre_lists_roles', 'bx_events', '0');
+('bx_events_roles', '_bx_events_pre_lists_roles', 'bx_events', '1');
 
 
 INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALUES
 INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALUES
 ('bx_events_roles', '0', 1, '_bx_events_role_regular', ''),
 ('bx_events_roles', '0', 1, '_bx_events_role_regular', ''),

+ 14 - 0
modules/boonex/events/js/main.js

@@ -26,4 +26,18 @@ BxEventsMain.prototype.onClickSetRole = function(iFanProfileId, iRole) {
         glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {role: iRole}, '', false, false);
         glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {role: iRole}, '', false, false);
 };
 };
 
 
+BxEventsMain.prototype.onClickSetRoleMulti = function(oElement, iFanProfileId, iRole) {
+    if(!glGrids[this._sObjNameGrid])
+        return;
+
+    var oSiblings = $(oElement).parents('.bx-base-group-sr-role:first').siblings();
+    if(iRole == 0)
+        oSiblings.find('input:checked').removeAttr('checked');
+    else
+        oSiblings.find("input[value = '0']:checked").removeAttr('checked');
+
+    var sRoles = $(oElement).parents('.bx-base-group-sr-roles:first').find('input:checked').serialize();
+    glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {}, sRoles, false, false);
+};
+
 /** @} */
 /** @} */

+ 1 - 0
modules/boonex/events/template/set_role_popup.html

@@ -0,0 +1 @@
+<bx_include_base:../modules/base/groups/template/set_role_popup.html />

+ 2 - 0
modules/boonex/russian/data/langs/bx_events/ru.xml

@@ -11,6 +11,8 @@
     <string name="_bx_events_option_datetime_format"><![CDATA[Формат даты со временем]]></string>
     <string name="_bx_events_option_datetime_format"><![CDATA[Формат даты со временем]]></string>
     <string name="_bx_events_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к событию]]></string>
     <string name="_bx_events_option_summary_chars"><![CDATA[Количество символов в автогенерируемой сводке к событию]]></string>
     <string name="_bx_events_option_searchable_fields"><![CDATA[Поля для поиска]]></string>
     <string name="_bx_events_option_searchable_fields"><![CDATA[Поля для поиска]]></string>
+    <string name="_bx_spaces_option_members_mode"><![CDATA[Спец. режим для членов события]]></string>
+    <string name="_bx_spaces_option_members_mode_multi_roles"><![CDATA[Множественные роли]]></string>
     <string name="_bx_events_option_public_subscribed_me"><![CDATA[Открытый список заинтересованных пользователей]]></string>
     <string name="_bx_events_option_public_subscribed_me"><![CDATA[Открытый список заинтересованных пользователей]]></string>
     <string name="_bx_events_option_per_page_for_favorites_lists"><![CDATA[Количество списков избранного на странице]]></string>
     <string name="_bx_events_option_per_page_for_favorites_lists"><![CDATA[Количество списков избранного на странице]]></string>
     <string name="_bx_events_option_internal_notifications"><![CDATA[Использовать встроенную нотификацию]]></string>
     <string name="_bx_events_option_internal_notifications"><![CDATA[Использовать встроенную нотификацию]]></string>