ノードに翻訳権限を持っているとき、翻訳で投稿者変更できないようにするには?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
s-jack's picture

ノードのあるバンドル(コンテンツタイプ)に、匿名ユーザー含めて全てのロールの権限に投稿・編集権限、翻訳権限を設定しています。
Wikiみたいに皆で登録、編集、翻訳するようなイメージです。

登録ユーザーの場合は、新規投稿でも編集でも、投稿者はご自身になるのですが、匿名ユーザーの時だけ、管理者のように投稿者を変更できてしまいます。
匿名は匿名のままにしたいので、匿名が投稿者を指定できてしまうとなりすましになり、これでは困ります。

状況が間違えていました。匿名ユーザーが翻訳を追加する時、投稿者を変更できてしまいます。

どこの設定が間違っているのか見つけられず、1日はまりまくってます。
宜しくお願いします。

Comments

muro's picture

検証はしてないですが、「環境設定」>「コンテンツの言語」で「翻訳可能」の項目を選ぶ際に、「投稿者」にチェックをいれているとか?

「投稿者」のチェック外れています

s-jack's picture

muroさんこんにちは。
「環境設定」>「コンテンツの言語」の翻訳可能で、コンテンツタイプの「投稿者」にチェックが外れています。

匿名ユーザーに翻訳させようという事例はあまりなさそうなので、皆さん気がつかないのでしょうか。。。
バグあげようかなと思ってますが、設定ミスだと恥ずかしい。。。

s-jack's picture

匿名ユーザー以外でも翻訳で投稿者情報変更できちゃいますね。
投稿者を翻訳しないというチェックが働いてないのかもしれません。

権限でnodeの
hogehogeコンテンツ: 任意のコンテンツを編集
が悪さしてるのかと思い権限を外してみましたが同じ結果でした。

やはりバグっぽいです。

muro's picture

うーん。権限周りいじっても消えないですね。
追加でコンテンツタイプのフォームの表示管理に「翻訳」というのがあったんで非表示にしてみましたが、あきませんでした。バグかもーです

s-jack's picture

レポートありがとうございます。
バグっぽいので提出前にもう少しお付き合いください。

コンテンツタイプのフィールド設定の、ご指摘のあった、
#)翻訳を除外する(英語:Exclude form translations)
#)ユーザーはこのフィールドを翻訳可能(英語:User may translate this field)
この違いってなんなのでしょうか?
後者の方は、/admin/config/regional/content-languageでのフィールドのチェックボックス項目と同期します。

muro's picture

#)ユーザーはこのフィールドを翻訳可能(英語:User may translate this
これは、「環境設定」>「コンテンツの言語」で設定するものです。
例えば、「表示日時」というフィールドがあって、日本語(デフォルト)と英語で、表示日時を変えたいときは、チェックいれます。逆に英語で別の日時を表示させたくないときは、チェック外します。

#)翻訳を除外する(英語:Exclude form translations)
これは、「コンテンツタイプ」>「フォームの表示管理」で、対象のフィールド(翻訳)を無効に移動させて、日本語(デフォルト)も英語もどちらでもこのフィールドは編集画面で表示させないように設定しようとしました。
具体的には、画面右の「プロモーションオプション」とか表示される箇所の「翻訳」ってのを表示させないようにする予定でした。効かなかったけど。

ちょっとわかりずらいですね・・

s-jack's picture

なるほどフォーム自体を翻訳で表示させない機能ですね。
フィールド以外(画面右側の設定項目)は、フィールド設定のところに出現しないので設定できる箇所ないですよね。

理解進みました。
イシュー投げてみることにします。
ありがとうございました。