Advertisement
Guest User

Untitled

a guest
Jan 6th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.26 KB | None | 0 0
  1. Template.ContactReplyModal.events({
  2. 'click .send-message':function(e) {
  3. e.preventDefault();
  4. Meteor.call('replyMessage', this._id, function(error) {
  5. if(error) {
  6. Bert.alert({
  7. title: 'Error',
  8. message: error.reason,
  9. type: 'danger'
  10. });
  11. } else {
  12. var to = this.email;
  13. var from = "my@mail.com";
  14. var subject = $('#reply-subject').val();
  15. var message = $('#reply-message').val();
  16.  
  17. if(message != '' && subject != '') {
  18. Meteor.call('sendEmailContact', to, from, subject, message, function (error) {
  19. if(error) {
  20. Bert.alert({
  21. title: 'Error',
  22. message: error.reason,
  23. type: 'danger'
  24. });
  25. } else {
  26. $('#reply-message').val('');
  27. $('#reply-subject').val('');
  28. Bert.alert({
  29. title: 'Success',
  30. message: 'Message sended.',
  31. type: 'success'
  32. });
  33. }
  34. });
  35. } else {
  36. Bert.alert({
  37. title: 'Error',
  38. message: 'Message error.',
  39. type: 'danger'
  40. });
  41. }
  42. }
  43. });
  44. },
  45. //Close events for ContactReplyModal
  46. 'click .close-login': ()=> {
  47. Session.set('nav-toggle-contactreply', '');
  48. },
  49. 'click .modal-overlay-contactreply': ()=> {
  50. Session.set('nav-toggle-contactreply', '');
  51. }
  52. });
  53.  
  54. //Contact Method
  55. Meteor.methods({
  56. insertMessage: function(message) {
  57. ContactMessages.insert(message);
  58. },
  59. openMessage: function(messageId) {
  60. ContactMessages.update({_id: messageId}, {$set: {new: false}});
  61. },
  62. replyMessage: function(messageId) {
  63. ContactMessages.findOne({_id: messageId});
  64. },
  65. deleteMessage: function(messageId) {
  66. ContactMessages.remove({_id: messageId});
  67. }
  68. });
  69.  
  70. "_id": "6c3478WugEajr6zaw",
  71. "name": "bob",
  72. "email": "bob@bob.com",
  73. "message": "This is a try.",
  74. "submitted": "2017-01-05T15:19:04.642Z",
  75. "new": true
  76.  
  77. //CLIENTSIDE
  78. 'click .open-message':function() {
  79. Meteor.call('openMessage', this._id, function(error) {
  80. if(error) {
  81. Bert.alert({
  82. title: 'Error',
  83. message: error.reason,
  84. type: 'danger'
  85. });
  86. }
  87. });
  88. }
  89.  
  90. //SERVERSIDE
  91.  
  92. Meteor.methods({
  93. insertMessage: function(message) {
  94. ContactMessages.insert(message);
  95. },
  96. openMessage: function(messageId) {
  97. ContactMessages.update({_id: messageId}, {$set: {new: false}});
  98. },
  99. replyMessage: function(message) {
  100. ContactMessages.findOne({_id: message});
  101. },
  102. deleteMessage: function(messageId) {
  103. ContactMessages.remove({_id: messageId});
  104. }
  105. });
  106.  
  107. <template name="ContactReply">
  108. <h3>Reply</h3>
  109. <h3>To: {{email}}</h3>
  110. <input class="form-control" type="text" name="reply-subject" id="reply-subject" placeholder="Subject"/>
  111. <br>
  112. <textarea class="form-control" name="reply-message" id="reply-message" rows="6"></textarea>
  113. <br>
  114. <button class="btn btn-success send-message">Send</button>
  115.  
  116. </template>
  117.  
  118.  
  119. <template name="ContactReplyModal">
  120. <div class="contactreply-modal {{$.Session.get 'nav-toggle-contactreply'}}">
  121. <i class="fa fa-close close-login"></i>
  122. <h3>Send a reply</h3>
  123. {{> ContactReply}}
  124. </div>
  125. <div class="modal-overlay-contactreply"></div>
  126. </template>
  127.  
  128. import './contact-reply.html';
  129.  
  130.  
  131.  
  132.  
  133. Template.ContactReplyModal.events({
  134. 'click .send-message':function(e) {
  135. e.preventDefault();
  136. console.log(this);
  137. Meteor.call('replyMessage', this._id, (error) => {
  138. if(error) {
  139. Bert.alert({
  140. title: 'Error',
  141. message: error.reason,
  142. type: 'danger'
  143. });
  144. } else {
  145. console.log (this.email);
  146. const to = this.email;
  147. var from = "my@mail.com";
  148. var subject = $('#reply-subject').val();
  149. var message = $('#reply-message').val();
  150.  
  151. if(message != '' && subject != '') {
  152. Meteor.call('sendEmailContact', to, from, subject, message, (error) => {
  153. if(error) {
  154. Bert.alert({
  155. title: 'Error',
  156. message: error.reason,
  157. type: 'danger'
  158. });
  159. } else {
  160. $('#reply-message').val('');
  161. $('#reply-subject').val('');
  162. Bert.alert({
  163. title: 'Success',
  164. message: 'Message sended.',
  165. type: 'success'
  166. });
  167. }
  168. });
  169. } else {
  170. Bert.alert({
  171. title: 'Error',
  172. message: 'Message error.',
  173. type: 'danger'
  174. });
  175. }
  176. }
  177. });
  178. },
  179. //Close events for ContactReplyModal
  180. 'click .close-login': ()=> {
  181. Session.set('nav-toggle-contactreply', '');
  182. },
  183. 'click .modal-overlay-contactreply': ()=> {
  184. Session.set('nav-toggle-contactreply', '');
  185. }
  186. });
  187.  
  188. Template.ContactReplyModal.events({
  189. 'click .send-message'(e, instance) {
  190. e.preventDefault();
  191. Meteor.call('replyMessage', this._id, function(error) {
  192. if(error) {
  193. Bert.alert({
  194. title: 'Error',
  195. message: error.reason,
  196. type: 'danger'
  197. });
  198. } else {
  199. var to = instance.email;
  200. var from = "my@mail.com";
  201. var subject = $('#reply-subject').val();
  202. var message = $('#reply-message').val();
  203.  
  204. if(message != '' && subject != '') {
  205. Meteor.call('sendEmailContact', to, from, subject, message, function (error) {
  206. if(error) {
  207. Bert.alert({
  208. title: 'Error',
  209. message: error.reason,
  210. type: 'danger'
  211. });
  212. } else {
  213. $('#reply-message').val('');
  214. $('#reply-subject').val('');
  215. Bert.alert({
  216. title: 'Success',
  217. message: 'Message sended.',
  218. type: 'success'
  219. });
  220. }
  221. });
  222. } else {
  223. Bert.alert({
  224. title: 'Error',
  225. message: 'Message error.',
  226. type: 'danger'
  227. });
  228. }
  229. }
  230. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement