diff --git a/apps/pc_backend/i18n/messages.ja.xml b/apps/pc_backend/i18n/messages.ja.xml index ddb1b4b15..2037a73af 100644 --- a/apps/pc_backend/i18n/messages.ja.xml +++ b/apps/pc_backend/i18n/messages.ja.xml @@ -1444,6 +1444,20 @@ If it is not reflected, clear the caches in "Cache Clear" in "SNS". 反映されない場合は、SNS設定→キャッシュの削除にてキャッシュの削除を行ってください。 + Send history + 送信履歴 + + + Send situation + 送信状況 + + + Send completion + 送信完了 + + + Send date + 送信日時 diff --git a/apps/pc_backend/modules/member/actions/actions.class.php b/apps/pc_backend/modules/member/actions/actions.class.php index 805f24a58..8a75379ee 100644 --- a/apps/pc_backend/modules/member/actions/actions.class.php +++ b/apps/pc_backend/modules/member/actions/actions.class.php @@ -100,13 +100,41 @@ public function executeInvite(sfWebRequest $request) ); $this->form = new AdminInviteForm(null, $options); + $query = Doctrine_Core::getTable('Member')->createQuery('m') + ->innerJoin('m.MemberConfig mc WITH (mc.name = "is_admin_invited" AND mc.value = true)') + ->andWhere('m.is_active = false') + ->orderBy('m.id desc'); + $pager = new sfDoctrinePager('Member', 10); + $pager->setQuery($query); + $pager->setPage($request->getParameter('page', 1)); + $pager->init(); + + $deleteForm = new InvitelistForm(array(), array( + 'invites' => iterator_to_array($pager), + )); + + $this->pager = $pager; + $this->deleteForm = $deleteForm; + if ($request->isMethod(sfWebRequest::POST)) { - $this->form->bind($request->getParameter('member_config')); - if ($this->form->isValid()) + if ($request->hasParameter($this->form->getName())) { - $this->form->save(); - $this->redirect('member/invite'); + $this->form->bind($request->getParameter($this->form->getName())); + if ($this->form->isValid()) + { + $this->form->save(); + $this->redirect('member/invite'); + } + } + elseif ($request->hasParameter($deleteForm->getName())) + { + $deleteForm->bind($request->getParameter($deleteForm->getName())); + if ($deleteForm->isValid()) + { + $deleteForm->save(); + $this->redirect('member/invite'); + } } } diff --git a/apps/pc_backend/modules/member/templates/inviteSuccess.php b/apps/pc_backend/modules/member/templates/inviteSuccess.php index 56a38b8d3..98e50a5c9 100644 --- a/apps/pc_backend/modules/member/templates/inviteSuccess.php +++ b/apps/pc_backend/modules/member/templates/inviteSuccess.php @@ -7,6 +7,10 @@

$op_config['sns_name'])) ?>

+hasFlash('notice')): ?> +getFlash('notice')) ?> + +
@@ -15,3 +19,58 @@
+ +

+getNbResults()): ?> + + + hasGlobalErrors()): ?> + getGlobalErrors() as $name => $error): ?> + + + + renderFormTag(url_for('member/invite'), array('method' => 'post')) ?> + +
+

true)) ?>

+ + + + + + + + + + + getResults() as $value): ?> + id] ?> + + + + + + + + + + + + + +
+ + + + + renderLabel() ?> + + +
+ renderHiddenFields() ?> + + +
+
+ + diff --git a/lib/form/doctrine/InvitelistForm.class.php b/lib/form/doctrine/InvitelistForm.class.php index a74efd4a9..cded805b5 100644 --- a/lib/form/doctrine/InvitelistForm.class.php +++ b/lib/form/doctrine/InvitelistForm.class.php @@ -52,10 +52,7 @@ public function save() foreach ($invites as $invite) { - if ( - $key == $invite->getId() - && $invite->getInviteMemberId() == sfContext::getInstance()->getUser()->getMemberId() - ) + if ($key == $invite->getId()) { $invite->delete(); } diff --git a/lib/model/doctrine/MemberConfigTable.class.php b/lib/model/doctrine/MemberConfigTable.class.php index ea5b59d5f..70aed149e 100644 --- a/lib/model/doctrine/MemberConfigTable.class.php +++ b/lib/model/doctrine/MemberConfigTable.class.php @@ -122,4 +122,20 @@ public function appendRules(Zend_Acl $acl, $resource = null) ->allow('self', $resource, 'edit') ->deny('everyone'); } + + public function getAdminInvitedMemberIds() + { + $adminInviteds = $this->createQuery() + ->where('name = ?', 'is_admin_invited') + ->andWhere('value = ?', true) + ->execute(); + + $ids = array(); + foreach ($adminInviteds as $line) + { + $ids[] = $line['member_id']; + } + + return $ids; + } }