プロジェクト

全般

プロフィール

Bug(バグ) #3936

未完了

SNSメンバーによるアプリ追加を許可しても「新しいアプリをインストールする」のリンクが表示されない

Youichi Kimura さんが8年以上前に追加. 8年以上前に更新.

ステータス:
Pending Review(レビュー待ち)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2016-04-27
期日:
進捗率:

50%

予定工数:
3.6 で発生するか:
Yes (はい)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)

説明

Overview (現象)

管理画面から opOpenSocialPlugin の「アプリ設定」(/pc_backend.php/opOpenSocialPlugin) にある「SNSメンバーのアプリ追加を許可」を「許可」または「SNS管理者の許可が必要」にセットすると、管理画面だけでなく SNS メンバーが OpenSocial アプリをインストールすることができるようになる。

しかし、「アプリを新しく追加する」(/application/install) のページへ移動するためのリンクが、すでにアプリを追加しているメンバーにしか表示されないため、SNS メンバーが新たにアプリをインストールしたい場合には既にインストールされている他の適当なアプリを追加する必要がある。

アプリが追加されていないメンバーの表示:

アプリが追加されているメンバーの表示:

Causes (原因)

source:apps/pc_frontend/modules/application/templates/listSuccess.php@6d81bffd#L31

<?php if ($isOwner && isset($memberApplications) && count($memberApplications)) : ?>
<?php echo sortable_element('order', array(
  'url'  => '@application_sort',
  'tag'  => 'div',
  'only' => 'sortable',
  'with' => 'Sortable.serialize("order")+"&'.urlencode($form->getCSRFFieldName()).'='.urlencode($form->getCSRFToken()).'"'
)); ?>
<div class="moreInfo">
<ul class="moreInfo">
<li>
<?php echo link_to(__('App Gallery'), '@application_gallery') ?>
<?php if ($isOwner): ?>
<?php if ($isInstallApp): ?>
<li><?php echo link_to(__('Install new App'), '@application_install') ?></li>
<?php endif; ?>
<?php if ($isInstalledApp): ?>
<li><?php echo link_to(__('Apps Installed by You'), '@application_installed_list') ?></li>
<?php endif; ?>
<?php endif; ?>
</li>
</ul>
</div>
<?php endif; ?>

上記のコードのうち sortable_element はメンバーが持っているアプリケーションを並べ替えるために必要な部分となっているが、div.moreInfo に表示される項目についてはメンバーがアプリケーションを持っているか否かは関係なく $isOwner が true であれば表示すべき部分であるため、この if の条件が適切でないことが原因であるといえる。

Way to fix (修正内容)

メンバーがアプリケーションを持っているか否かに関わらず $isOwner が true であれば div.moreInfo を表示する


ファイル

Youichi Kimura さんが8年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 担当者Youichi Kimura にセット
  • 進捗率0 から 50 に変更

下記 Pull Request にて修正しました
https://github.com/openpne-ospt/opOpenSocialPlugin/pull/25

他の形式にエクスポート: Atom PDF