From 5124695c9ba2792e827b8c1d11529f7904a0f010 Mon Sep 17 00:00:00 2001 From: nishizoe Date: Wed, 25 Nov 2015 18:16:03 +0900 Subject: [PATCH 1/3] =?UTF-8?q?(fixed=20#4358,=20BP=20from=20#4139)?= =?UTF-8?q?=E6=8B=9B=E5=BE=85=E3=83=A1=E3=83=BC=E3=83=AB=E9=80=81=E4=BF=A1?= =?UTF-8?q?=E5=B1=A5=E6=AD=B4=E3=82=92=E8=A1=A8=E7=A4=BA=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/pc_backend/i18n/messages.ja.xml | 14 +++++++ .../modules/member/actions/actions.class.php | 13 ++++++ .../member/templates/inviteSuccess.php | 42 +++++++++++++++++++ .../doctrine/MemberConfigTable.class.php | 16 +++++++ 4 files changed, 85 insertions(+) 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..e91442251 100644 --- a/apps/pc_backend/modules/member/actions/actions.class.php +++ b/apps/pc_backend/modules/member/actions/actions.class.php @@ -100,6 +100,19 @@ public function executeInvite(sfWebRequest $request) ); $this->form = new AdminInviteForm(null, $options); + $adminInvitedMemberIds = Doctrine::getTable('MemberConfig')->getAdminInvitedMemberIds(); + $query = Doctrine_Query::create() + ->from('MemberConfig') + ->where('(name = ? OR name =?)', array('pc_address', 'pc_address_pre')) + ->andWhereIn('member_id', $adminInvitedMemberIds) + ->orderBy('id desc'); + + $this->pager = new sfDoctrinePager('MemberConfig', 10); + $this->pager->setQuery($query); + + $this->pager->setPage($request->getParameter('page', 1)); + $this->pager->init(); + if ($request->isMethod(sfWebRequest::POST)) { $this->form->bind($request->getParameter('member_config')); diff --git a/apps/pc_backend/modules/member/templates/inviteSuccess.php b/apps/pc_backend/modules/member/templates/inviteSuccess.php index 56a38b8d3..e4b35ab90 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,41 @@
+ +getNbResults()): ?> +

+ + +

+
+
+ + + + + + + + + + + getResults() as $value): ?> + + + + + + + +
+ true)) ?> +
+ + + + + +
+
+
+ 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; + } } From 3ae22b02787bfc33947bfc987b6ba0dd592124ec Mon Sep 17 00:00:00 2001 From: Kimura Youichi Date: Thu, 21 Jan 2016 21:24:10 +0900 Subject: [PATCH 2/3] =?UTF-8?q?(fixed=20#4358,=20BP=20from=20#4139)?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E7=94=BB=E9=9D=A2=E7=B5=8C=E7=94=B1=E3=81=AE?= =?UTF-8?q?=E6=8B=9B=E5=BE=85=E4=B8=AD=E3=83=A1=E3=83=B3=E3=83=90=E3=83=BC?= =?UTF-8?q?=E3=81=AE=E5=89=8A=E9=99=A4=E6=A9=9F=E8=83=BD=E3=82=92=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit InvitelistForm での Member::getInviteMemberId() の検証を削除していますが、 フォームの invites オプションに含まれていないメンバーはバリデージョン時にエラーとなるため この判定自体が不要であると判断しました。 --- .../modules/member/actions/actions.class.php | 47 +++++++++++------ .../member/templates/inviteSuccess.php | 52 ++++++++++++++----- lib/form/doctrine/InvitelistForm.class.php | 5 +- 3 files changed, 71 insertions(+), 33 deletions(-) diff --git a/apps/pc_backend/modules/member/actions/actions.class.php b/apps/pc_backend/modules/member/actions/actions.class.php index e91442251..8a75379ee 100644 --- a/apps/pc_backend/modules/member/actions/actions.class.php +++ b/apps/pc_backend/modules/member/actions/actions.class.php @@ -100,26 +100,41 @@ public function executeInvite(sfWebRequest $request) ); $this->form = new AdminInviteForm(null, $options); - $adminInvitedMemberIds = Doctrine::getTable('MemberConfig')->getAdminInvitedMemberIds(); - $query = Doctrine_Query::create() - ->from('MemberConfig') - ->where('(name = ? OR name =?)', array('pc_address', 'pc_address_pre')) - ->andWhereIn('member_id', $adminInvitedMemberIds) - ->orderBy('id desc'); - - $this->pager = new sfDoctrinePager('MemberConfig', 10); - $this->pager->setQuery($query); - - $this->pager->setPage($request->getParameter('page', 1)); - $this->pager->init(); + $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 e4b35ab90..f845fe68b 100644 --- a/apps/pc_backend/modules/member/templates/inviteSuccess.php +++ b/apps/pc_backend/modules/member/templates/inviteSuccess.php @@ -25,14 +25,21 @@

-
+ hasGlobalErrors()): ?> + getGlobalErrors() as $name => $error): ?> + + + + renderFormTag(url_for('member/invite'), array('method' => 'post', 'class' => 'form-horizontal', 'role' => 'form')) ?> +
- +
+ @@ -40,20 +47,39 @@ getResults() as $value): ?> - - - - - + id] ?> + + + + + +
true)) ?>
- - - - - -
+ + + + + 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(); } From f6a6b5215dca96defeb6e9761ec6d10eb2ceec48 Mon Sep 17 00:00:00 2001 From: nishizoe Date: Tue, 31 Jan 2017 18:58:16 +0900 Subject: [PATCH 3/3] =?UTF-8?q?(fixed=20#4358,=20BP=20from=20#4139)=20?= =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AAclass=E8=A8=AD=E5=AE=9A=E3=81=AE?= =?UTF-8?q?=E5=89=8A=E9=99=A4=E3=80=81=E3=83=9C=E3=82=BF=E3=83=B3=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/templates/inviteSuccess.php | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/apps/pc_backend/modules/member/templates/inviteSuccess.php b/apps/pc_backend/modules/member/templates/inviteSuccess.php index f845fe68b..98e50a5c9 100644 --- a/apps/pc_backend/modules/member/templates/inviteSuccess.php +++ b/apps/pc_backend/modules/member/templates/inviteSuccess.php @@ -20,23 +20,20 @@ +

getNbResults()): ?> -

-

hasGlobalErrors()): ?> getGlobalErrors() as $name => $error): ?> - renderFormTag(url_for('member/invite'), array('method' => 'post', 'class' => 'form-horizontal', 'role' => 'form')) ?> + renderFormTag(url_for('member/invite'), array('method' => 'post')) ?>
- - +

true)) ?>

+
- true)) ?> -
@@ -64,22 +61,16 @@ + + + + +
+ renderHiddenFields() ?> + + +
-
-
- renderHiddenFields() ?> - - -       - -
-