Commit 4081157add1f28e08985e9e9e5cf1a8f8e02eb04
1 parent
ab31cc80
change request to massage
Showing
4 changed files
with
79 additions
and
14 deletions
Show diff stats
src/app/frontend/controllers/SeriesOfLettersController.php
| @@ -45,4 +45,16 @@ class SeriesOfLettersController extends \Phalcon\Mvc\Controller | @@ -45,4 +45,16 @@ class SeriesOfLettersController extends \Phalcon\Mvc\Controller | ||
| 45 | 'data' => $data | 45 | 'data' => $data |
| 46 | ]); | 46 | ]); |
| 47 | } | 47 | } |
| 48 | + | ||
| 49 | + public function getTemplateAction() | ||
| 50 | + { | ||
| 51 | + $this->view->setTemplateAfter('none'); | ||
| 52 | + $like = $this->request->getPost('like', 'string', NULL ); | ||
| 53 | + $users = \customersEmailList::find(array( | ||
| 54 | + "email LIKE '%$like%' AND project_id = {$this->session->get('project-id')}" | ||
| 55 | + )); | ||
| 56 | + $result = json_encode($users->toArray()); | ||
| 57 | + $this->view->disableLevel(\Phalcon\Mvc\View::LEVEL_MAIN_LAYOUT); | ||
| 58 | + echo $result; | ||
| 59 | + } | ||
| 48 | } | 60 | } |
| 49 | \ No newline at end of file | 61 | \ No newline at end of file |
src/app/frontend/views/event_email/addEdit.php
| @@ -8,10 +8,6 @@ | @@ -8,10 +8,6 @@ | ||
| 8 | <!-- <label for="status"><span></span>Статус ивента</label>--> | 8 | <!-- <label for="status"><span></span>Статус ивента</label>--> |
| 9 | <!-- </div>--> | 9 | <!-- </div>--> |
| 10 | 10 | ||
| 11 | - <div class="input-group"> | ||
| 12 | - <?= '<input type="checkbox" name="unique" class="unique" value="1" '.( isset( $page->unique ) && !empty( $page->unique ) && $page->unique == 1 ? 'checked="checked"' : '').' />' ?> | ||
| 13 | - <label for="status"><span></span>Уникальный</label> | ||
| 14 | - </div> | ||
| 15 | 11 | ||
| 16 | 12 | ||
| 17 | 13 |
src/app/frontend/views/series_of_letters/addEdit.php
| @@ -5,26 +5,44 @@ | @@ -5,26 +5,44 @@ | ||
| 5 | <form enctype="multipart/form-data" method="post" action="" id="email_event_add_edit"> | 5 | <form enctype="multipart/form-data" method="post" action="" id="email_event_add_edit"> |
| 6 | <div class="version_1 clearfix"> | 6 | <div class="version_1 clearfix"> |
| 7 | 7 | ||
| 8 | - <div class="input-group"> | ||
| 9 | - <span class="input-group-addon title-block-sizing">Название шаблона</span> | ||
| 10 | - <input type="text" name="name" class="form-control" value='<?= (isset( $page->name ) && !empty( $page->name ) ? $page->name : '') ?>'> | ||
| 11 | - </div> | ||
| 12 | 8 | ||
| 13 | <div class="input-group"> | 9 | <div class="input-group"> |
| 14 | - <input type="file" name="uploadify" id="uploadify" /> | 10 | + <input type="checkbox" name="status" class="unique" value="value='<?= (isset( $page->status ) && !empty( $page->status ) ? $page->status : '') ?>'"> |
| 11 | + <label for="status">Статус рассылки</label> | ||
| 15 | </div> | 12 | </div> |
| 16 | 13 | ||
| 17 | 14 | ||
| 18 | 15 | ||
| 19 | <div class="input-group"> | 16 | <div class="input-group"> |
| 20 | - <span class="input-group-addon title-block-sizing">Заголовок</span> | ||
| 21 | - <input type="text" name="title" class="form-control" value='<?= (isset( $page->title ) && !empty( $page->title ) ? $page->title : '') ?>'> | 17 | + <span class="input-group-addon title-block-sizing">Название рассылки</span> |
| 18 | + <input type="text" name="title" class="form-control" value='<?= (isset( $page->name ) && !empty( $page->name ) ? $page->name : '') ?>'> | ||
| 22 | </div> | 19 | </div> |
| 23 | 20 | ||
| 24 | 21 | ||
| 25 | <div class="input-group"> | 22 | <div class="input-group"> |
| 26 | - <span class="input-group-addon title-block-sizing">Текст</span> | ||
| 27 | - <?= '<textarea id="template_text" name="page_content_text">'.(isset( $page->text ) && !empty( $page->text ) ? $page->text : '').'</textarea>' ?> | 23 | + <div class="clearfix input_wrapper" id="send_method_users_table"> |
| 24 | + | ||
| 25 | + | ||
| 26 | + <table id="templates-list" class="table table-hover"> | ||
| 27 | + </table> | ||
| 28 | + <div class="input-group"> | ||
| 29 | + <span class="input-group-addon title-block-sizing">Введите email пользователя</span> | ||
| 30 | + <input type="text" value="" class="form-control" name="autocomplete_user_email" id="autocomplete_templates" autocomplete="off"> | ||
| 31 | + </div> | ||
| 32 | + | ||
| 33 | + <table class="table table-hover"> | ||
| 34 | + <thead> | ||
| 35 | + <tr> | ||
| 36 | + <th id="name">Имя</th> | ||
| 37 | + <th id="email">e-mail</th> | ||
| 38 | + <th class="table-buttons"></th> | ||
| 39 | + </tr> | ||
| 40 | + </thead> | ||
| 41 | + <tbody id="result"> | ||
| 42 | + | ||
| 43 | + </tbody> | ||
| 44 | + </table> | ||
| 45 | + </div> | ||
| 28 | </div> | 46 | </div> |
| 29 | 47 | ||
| 30 | </div> | 48 | </div> |
| @@ -38,3 +56,42 @@ | @@ -38,3 +56,42 @@ | ||
| 38 | </div> | 56 | </div> |
| 39 | </div> | 57 | </div> |
| 40 | </div> | 58 | </div> |
| 59 | +<script> | ||
| 60 | + jQuery(document).ready( function() { | ||
| 61 | + | ||
| 62 | + $('#autocomplete_templates').on('change', function () { | ||
| 63 | + var like = $(this).val(); | ||
| 64 | + | ||
| 65 | + if (like.length > 3) { | ||
| 66 | + $.post('/series_of_letters/get_template', {like: like}, function (data) { | ||
| 67 | + var ajax = $.parseJSON(data); | ||
| 68 | + var count = ajax.length; | ||
| 69 | + var block = $('#result'); | ||
| 70 | + block.html(''); | ||
| 71 | + for (var i = 0; i < count; i++) { | ||
| 72 | + var row = "<tr><td id='name'>" + ajax[i]['name'] + "</td><td id='email'>" + ajax[i]['email'] + "</td><td><p data-id='" + ajax[i]['id'] + "' class = 'btn btn-primary select-row'>Добавить в список</p></td></tr>"; | ||
| 73 | + block.append(row); | ||
| 74 | + } | ||
| 75 | + }); | ||
| 76 | + } | ||
| 77 | + }); | ||
| 78 | + | ||
| 79 | + | ||
| 80 | + $('#result').on('click', '.select-row', function () { | ||
| 81 | + var user_id = $(this).data('id'); | ||
| 82 | + var row = $(this).closest('tr'); | ||
| 83 | + var block = $('#templates-list'); | ||
| 84 | + var email = row.find('#email').html(); | ||
| 85 | + var name = row.find('#name').html(); | ||
| 86 | + var new_row = "<tr><td id='name'>" + name + "</td><td id='email'>" + email + "</td><td><p class = 'btn btn-primary delete-row'>Убрать из списка</p>" + | ||
| 87 | + "<input type='hidden' value='" + user_id + "' name='user_id[]'></td></tr>"; | ||
| 88 | + block.append(new_row); | ||
| 89 | + row.remove(); | ||
| 90 | + }); | ||
| 91 | + | ||
| 92 | + $('#templates-list').on('click', '.delete-row', function () { | ||
| 93 | + var row = $(this).closest('tr'); | ||
| 94 | + row.remove(); | ||
| 95 | + }); | ||
| 96 | + }); | ||
| 97 | +</script> | ||
| 41 | \ No newline at end of file | 98 | \ No newline at end of file |
src/lib/security.php
| @@ -106,7 +106,7 @@ use Phalcon\Events\Event, | @@ -106,7 +106,7 @@ use Phalcon\Events\Event, | ||
| 106 | "user"=>array("account"), | 106 | "user"=>array("account"), |
| 107 | "event_email" => array("checkAjaxData","index", "delete", "update", "add"), | 107 | "event_email" => array("checkAjaxData","index", "delete", "update", "add"), |
| 108 | "standard_email" => array("index", "delete", "update", "add", "getuserslike","seriesOfLetters"), | 108 | "standard_email" => array("index", "delete", "update", "add", "getuserslike","seriesOfLetters"), |
| 109 | - "series_of_letters" => array("index", "delete", "update", "add"), | 109 | + "series_of_letters" => array("index", "delete", "update", "add","get_template"), |
| 110 | "customers_email" => array( "index","delete", "update"), | 110 | "customers_email" => array( "index","delete", "update"), |
| 111 | "delivery" => array("index", "add", "update", "moreinfo", "delete", "getCampaignList","customers_add_one"), | 111 | "delivery" => array("index", "add", "update", "moreinfo", "delete", "getCampaignList","customers_add_one"), |
| 112 | "price_parser" => array("index", "sort", "deleteLink", | 112 | "price_parser" => array("index", "sort", "deleteLink", |