Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions apps/pc_backend/i18n/messages.ja.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1444,6 +1444,20 @@
<trans-unit id="">
<source>If it is not reflected, clear the caches in "Cache Clear" in "SNS".</source>
<target>反映されない場合は、SNS設定→キャッシュの削除にてキャッシュの削除を行ってください。</target>
<source>Send history</source>
<target>送信履歴</target>
</trans-unit>
<trans-unit id="">
<source>Send situation</source>
<target>送信状況</target>
</trans-unit>
<trans-unit id="">
<source>Send completion</source>
<target>送信完了</target>
</trans-unit>
<trans-unit id="">
<source>Send date</source>
<target>送信日時</target>
</trans-unit>
</body>
</file>
Expand Down
36 changes: 32 additions & 4 deletions apps/pc_backend/modules/member/actions/actions.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -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');
}
}
}

Expand Down
59 changes: 59 additions & 0 deletions apps/pc_backend/modules/member/templates/inviteSuccess.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@
<p><?php echo __('Enter email addresses of people to invite to %1%.', array('%1%' => $op_config['sns_name'])) ?></p>
<p><?php echo __('Please enter one email address per line.') ?></p>

<?php if ($sf_user->hasFlash('notice')): ?>
<span id="flashNotice" class="flash"><?php echo __($sf_user->getFlash('notice')) ?></span>
<?php endif; ?>

<form action="<?php echo url_for('member/invite') ?>" method="post">
<table>
<?php echo $form ?>
Expand All @@ -15,3 +19,58 @@
</tr>
</table>
</form>

<h2><?php echo __('Send history') ?></h2>
<?php if (!$pager->getNbResults()): ?>
<span id="flashNotice" class="flash"><?php echo __('No members matching') ?></span>
<?php else: ?>
<?php if ($deleteForm->hasGlobalErrors()): ?>
<?php foreach ($deleteForm->getGlobalErrors() as $name => $error): ?>
<?php echo __($error) ?>
<?php endforeach; ?>
<?php endif; ?>
<?php echo $deleteForm->renderFormTag(url_for('member/invite'), array('method' => 'post')) ?>
<input type="hidden" name="page" value="<?php echo $pager->getPage() ?>"/>
<div>
<p><?php op_include_pager_navigation($pager, 'member/invite?page=%d', array('use_current_query_string' => true)) ?></p>
<table>
<thead>
<tr>
<th><?php echo __('Delete') ?></th>
<th><?php echo __('Send situation') ?></th>
<th><?php echo __('Email') ?></th>
<th><?php echo __('Send date') ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($pager->getResults() as $value): ?>
<?php $field = $deleteForm[$value->id] ?>
<tr>
<td>
<?php echo $field ?>
</td>
<td>
<?php echo __('Send completion') ?>
</td>
<td>
<?php echo $field->renderLabel() ?>
</td>
<td>
<?php echo $value['created_at'] ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
<tfoot>
<tr>
<td colspan="4">
<?php echo $deleteForm->renderHiddenFields() ?>
<input value="<?php echo __('Delete') ?>" type="submit">
<input value="<?php echo __('Reset') ?>" type="reset">
</td>
</tr>
</tfoot>
</table>
</div>
</form>
<?php endif; ?>
5 changes: 1 addition & 4 deletions lib/form/doctrine/InvitelistForm.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
Expand Down
16 changes: 16 additions & 0 deletions lib/model/doctrine/MemberConfigTable.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}