فهرست منبع

Ticket #2816 - Usage in Events

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

+ 5 - 1
modules/boonex/events/classes/BxEventsConfig.php

@@ -128,10 +128,11 @@ class BxEventsConfig extends BxBaseModGroupsConfig
             'OBJECT_CONNECTIONS' => 'bx_events_fans',
             'OBJECT_UPLOADERS_COVER' => array('bx_events_cover_crop'),
             'OBJECT_UPLOADERS_PICTURE' => array('bx_events_picture_crop'),
+            'OBJECT_PRE_LIST_ROLES' => 'bx_events_roles',
             
             'BADGES_AVALIABLE' => true,
             'INVITES_KEYS_LIFETIME' => 86400,
-            'ENABLE_FOR_CONTEXT_IN_MODULES' => array('bx_groups'),
+            'ENABLE_FOR_CONTEXT_IN_MODULES' => array('bx_events'),
 
             'EMAIL_INVITATION' => 'bx_events_invitation',
             'EMAIL_JOIN_REQUEST' => 'bx_events_join_request',
@@ -139,6 +140,7 @@ class BxEventsConfig extends BxBaseModGroupsConfig
             'EMAIL_FAN_BECOME_ADMIN' => 'bx_events_fan_become_admin',
             'EMAIL_ADMIN_BECOME_FAN' => 'bx_events_admin_become_fan',
             'EMAIL_FAN_REMOVE' => 'bx_events_fan_remove',
+            'EMAIL_FAN_SET_ROLE' => 'bx_events_set_role',
             'EMAIL_JOIN_REJECT' => 'bx_events_join_reject',
             'EMAIL_REMINDER' => 'bx_events_reminder',
 
@@ -214,12 +216,14 @@ class BxEventsConfig extends BxBaseModGroupsConfig
         );
 
         $this->_aJsClasses = array(
+            'main' => 'BxEventsMain',
             'entry' => 'BxEventsEntry',
             'manage_tools' => 'BxEventsManageTools',
             'invite_popup' => 'BxEventsInvitePopup'
         );
 
         $this->_aJsObjects = array(
+            'main' => 'oBxEventsMain',
             'entry' => 'oBxEventsEntry',
             'manage_tools' => 'oBxEventsManageTools',
             'invite_popup' => 'oBxEventsInvitePopup'

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

@@ -318,14 +318,14 @@
     <string name="_bx_events_txt_account_pending"><![CDATA[This event is pending approval, please wait until it is activated.]]></string>
     <string name="_bx_events_txt_account_suspended"><![CDATA[This event is suspended.]]></string>
     <string name="_bx_events_txt_N_fans"><![CDATA[{0} members]]></string>
+    <string name="_bx_events_txt_role"><![CDATA[Role]]></string>
     <string name="_bx_events_txt_sample_single"><![CDATA[event]]></string>
     <string name="_bx_events_txt_sample_single_with_article"><![CDATA[an event]]></string>
     <string name="_bx_events_txt_sample_comment_single"><![CDATA[comment to event]]></string>
     <string name="_bx_events_txt_sample_vote_single"><![CDATA[vote to event]]></string>
     <string name="_bx_events_txt_sample_score_up_single"><![CDATA[score up vote to event]]></string>
     <string name="_bx_events_txt_sample_score_down_single"><![CDATA[score down vote to event]]></string>
-    <string name="_bx_events_txt_to_admins"><![CDATA[To Admins]]></string>
-    <string name="_bx_events_txt_from_admins"><![CDATA[From Admins]]></string>
+    <string name="_bx_events_txt_set_role"><![CDATA[Set Role]]></string>
     <string name="_bx_events_txt_private_group"><![CDATA[Private event]]></string>
     <string name="_bx_events_txt_from_time_to_time"><![CDATA[{0} - {1}]]></string>
     <string name="_bx_events_txt_invite_popup_text"><![CDATA[You have been invited to a event. Click the button below to accept the invitation.]]></string>
@@ -366,6 +366,11 @@
     <string name="_bx_events_cat_Workshop"><![CDATA[Workshop]]></string>
     <string name="_bx_events_cat_Other"><![CDATA[Other]]></string>
 
+    <string name="_bx_events_pre_lists_roles"><![CDATA[Event roles]]></string>
+    <string name="_bx_events_role_regular"><![CDATA[Regular]]></string>
+    <string name="_bx_events_role_administrator"><![CDATA[Administrator]]></string>
+    <string name="_bx_events_role_moderator"><![CDATA[Moderator]]></string>
+
     <string name="_bx_events_pre_lists_repeat_year"><![CDATA[Repeat year]]></string>
     <string name="_bx_events_cat_repeat_year_every_year"><![CDATA[Every year]]></string>
     <string name="_bx_events_cat_repeat_year_every_2_years"><![CDATA[Every 2 years]]></string>
@@ -449,6 +454,12 @@
     <string name="_bx_events_email_invitation_subject"><![CDATA[Invitation to "{EntryTitle}" event]]></string>
     <string name="_bx_events_email_invitation_body"><![CDATA[{email_header}
 <p><a href="{InviterUrl}">{InviterDisplayName}</a> invited you to <a href="{EntryUrl}">{EntryTitle} event</a>.</p>
+{email_footer}]]></string>
+
+    <string name="_bx_events_email_set_role"><![CDATA[Event member status was changed]]></string>
+    <string name="_bx_events_email_set_role_subject"><![CDATA[Your event status was changed]]></string>
+    <string name="_bx_events_email_set_role_body"><![CDATA[{email_header}
+<p>Your status in <a href="{EntryUrl}">{EntryTitle}</a> event was changed to <b>{Role}</b>.</p>
 {email_footer}]]></string>
 
     <string name="_bx_events_email_reminder"><![CDATA[Reminder for the event]]></string>

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

@@ -511,12 +511,13 @@ INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `fie
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `params`, `order`) VALUES
 ('bx_events_fans', 'name', '_sys_name', '50%', '', 10),
-('bx_events_fans', 'actions', '', '50%', '', 20);
+('bx_events_fans', 'role', '_bx_events_txt_role', '10%', '', 15),
+('bx_events_fans', 'actions', '', '40%', '', 20);
 
 INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `confirm`, `order`) VALUES
 ('bx_events_fans', 'single', 'accept', '_sys_accept', '', 0, 10),
-('bx_events_fans', 'single', 'to_admins', '_bx_events_txt_to_admins', '', 0, 20),
-('bx_events_fans', 'single', 'from_admins', '_bx_events_txt_from_admins', '', 0, 30),
+('bx_events_fans', 'single', 'set_role', '_bx_events_txt_set_role', '', 0, 20),
+('bx_events_fans', 'single', 'set_role_submit', '', '', 0, 21),
 ('bx_events_fans', 'single', 'delete', '', 'remove', 1, 40);
 
 -- GRID: invites
@@ -601,6 +602,7 @@ INSERT INTO `sys_email_templates` (`Module`, `NameSystem`, `Name`, `Subject`, `B
 ('bx_events', '_bx_events_email_fan_remove', 'bx_events_fan_remove', '_bx_events_email_fan_remove_subject', '_bx_events_email_fan_remove_body'),
 ('bx_events', '_bx_events_email_fan_become_admin', 'bx_events_fan_become_admin', '_bx_events_email_fan_become_admin_subject', '_bx_events_email_fan_become_admin_body'),
 ('bx_events', '_bx_events_email_admin_become_fan', 'bx_events_admin_become_fan', '_bx_events_email_admin_become_fan_subject', '_bx_events_email_admin_become_fan_body'),
+('bx_events', '_bx_events_email_set_role', 'bx_events_set_role', '_bx_events_email_set_role_subject', '_bx_events_email_set_role_body'),
 ('bx_events', '_bx_events_email_invitation', 'bx_events_invitation', '_bx_events_email_invitation_subject', '_bx_events_email_invitation_body'),
 ('bx_events', '_bx_events_email_reminder', 'bx_events_reminder', '_bx_events_email_reminder_subject', '_bx_events_email_reminder_body');
 

+ 9 - 0
modules/boonex/events/install/sql/install.sql

@@ -212,6 +212,7 @@ CREATE TABLE IF NOT EXISTS `bx_events_admins` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `group_profile_id` int(10) unsigned NOT NULL,
   `fan_id` int(10) unsigned NOT NULL,
+  `role` int(10) unsigned NOT NULL default '0',
   PRIMARY KEY (`id`),
   UNIQUE KEY `admin` (`group_profile_id`,`fan_id`)
 );
@@ -440,6 +441,14 @@ INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALU
 ('bx_events_cats', '10', 10, '_bx_events_cat_Workshop', ''),
 ('bx_events_cats', '11', 11, '_bx_events_cat_Other', '');
 
+INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
+('bx_events_roles', '_bx_events_pre_lists_roles', 'bx_events', '0');
+
+INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALUES
+('bx_events_roles', '0', 1, '_bx_events_role_regular', ''),
+('bx_events_roles', '1', 2, '_bx_events_role_administrator', ''),
+('bx_events_roles', '2', 3, '_bx_events_role_moderator', '');
+
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
 ('bx_events_repeat_year', '_bx_events_pre_lists_repeat_year', 'bx_events', '0');
 

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

@@ -22,7 +22,7 @@ DELETE FROM `sys_form_display_inputs` WHERE `display_name` IN('bx_event_add', 'b
 -- PRE-VALUES
 DELETE FROM `sys_form_pre_lists` WHERE `module` = 'bx_events';
 
-DELETE FROM `sys_form_pre_values` WHERE `Key` IN('bx_events_cats');
+DELETE FROM `sys_form_pre_values` WHERE `Key` LIKE 'bx_events%';
 
 -- COMMENTS
 DELETE FROM `sys_objects_cmts` WHERE `Name` LIKE 'bx_events%';

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

@@ -0,0 +1,29 @@
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Events Events
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+function BxEventsMain(oOptions) {
+    this._sActionsUrl = oOptions.sActionUrl;
+    this._sObjName = oOptions.sObjName == undefined ? 'oBxEventsMain' : oOptions.sObjName;
+    this._sObjNameGrid = oOptions.sObjNameGrid == undefined ? '' : oOptions.sObjNameGrid;
+    
+    this._sAnimationEffect = oOptions.sAnimationEffect == undefined ? 'fade' : oOptions.sAnimationEffect;
+    this._iAnimationSpeed = oOptions.iAnimationSpeed == undefined ? 'slow' : oOptions.iAnimationSpeed;
+
+    this._aHtmlIds = oOptions.aHtmlIds == undefined ? {} : oOptions.aHtmlIds;
+}
+
+BxEventsMain.prototype.onClickSetRole = function(iFanProfileId, iRole) {
+    $('.bx-popup-applied:visible').dolPopupHide();
+
+    if(glGrids[this._sObjNameGrid] != undefined)
+        glGrids[this._sObjNameGrid].actionWithId(iFanProfileId, 'set_role_submit', {role: iRole}, '', false, false);
+};
+
+/** @} */

+ 6 - 0
modules/boonex/events/template/css/main.css

@@ -1 +1,7 @@
 @import url(../../../../base/groups/template/css/main.css);
+
+
+/*-- Event Roles --*/
+#bx-events-set-role-popup .bx-menu-ver {
+    margin: 0;
+}

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

@@ -318,14 +318,14 @@
     <string name="_bx_events_txt_all_entries_in"><![CDATA[<a href="{0}">Все события в {1} ({2})</a>]]></string>
     <string name="_bx_events_txt_account_suspended"><![CDATA[Это событие заблокировано.]]></string>
     <string name="_bx_events_txt_N_fans"><![CDATA[{0} участников]]></string>
+    <string name="_bx_groups_txt_role"><![CDATA[Роль]]></string>
     <string name="_bx_events_txt_sample_single"><![CDATA[событие]]></string>
     <string name="_bx_events_txt_sample_single_with_article"><![CDATA[событие]]></string>
     <string name="_bx_events_txt_sample_comment_single"><![CDATA[комментарий к событию]]></string>
     <string name="_bx_events_txt_sample_vote_single"><![CDATA[голос за событие]]></string>
     <string name="_bx_events_txt_sample_score_up_single"><![CDATA[голос за событие]]></string>
     <string name="_bx_events_txt_sample_score_down_single"><![CDATA[голос против события]]></string>
-    <string name="_bx_events_txt_to_admins"><![CDATA[В админы]]></string>
-    <string name="_bx_events_txt_from_admins"><![CDATA[Из админов]]></string>
+    <string name="_bx_groups_txt_set_role"><![CDATA[Задать роль]]></string>
     <string name="_bx_events_txt_private_group"><![CDATA[Приватная группа]]></string>
     <string name="_bx_events_txt_from_time_to_time"><![CDATA[{0} - {1}]]></string>
 	<string name="_bx_events_txt_invite_popup_text"><![CDATA[Вы были приглашены на это собыите.  Нажмите кнопку ниже чтобы принять приглашение.]]></string>
@@ -366,6 +366,11 @@
     <string name="_bx_events_cat_Workshop"><![CDATA[Умелые ручки]]></string>
     <string name="_bx_events_cat_Other"><![CDATA[Другое]]></string>
 
+    <string name="_bx_groups_pre_lists_roles"><![CDATA[Роли в событиях]]></string>
+    <string name="_bx_groups_role_regular"><![CDATA[Обычный]]></string>
+    <string name="_bx_groups_role_administrator"><![CDATA[Администратор]]></string>
+    <string name="_bx_groups_role_moderator"><![CDATA[Модератор]]></string>
+
     <string name="_bx_events_pre_lists_repeat_year"><![CDATA[Повторять: год]]></string>
     <string name="_bx_events_cat_repeat_year_every_year"><![CDATA[Каждый год]]></string>
     <string name="_bx_events_cat_repeat_year_every_2_years"><![CDATA[Каждые 2 года]]></string>
@@ -449,6 +454,12 @@
     <string name="_bx_events_email_invitation_subject"><![CDATA[Приглашение на событие "{EntryTitle}"]]></string>
     <string name="_bx_events_email_invitation_body"><![CDATA[{email_header}
 <p><a href="{InviterUrl}">{InviterDisplayName}</a> пригласил Вас на событие <a href="{EntryUrl}">{EntryTitle}</a>.</p>
+{email_footer}]]></string>
+
+    <string name="_bx_groups_email_set_role"><![CDATA[Изменение статуса в событии]]></string>
+    <string name="_bx_groups_email_set_role_subject"><![CDATA[Ваш статус в событии был изменен]]></string>
+    <string name="_bx_groups_email_set_role_body"><![CDATA[{email_header}
+<p>Ваш статус в событии <a href="{EntryUrl}">{EntryTitle}</a> был изменен на <b>{Role}</b>.</p>
 {email_footer}]]></string>
 
     <string name="_bx_events_email_reminder"><![CDATA[Напоминание о предстроящем событии]]></string>