QA #896
奈良 裕記 さんが5年以上前に更新
h3. ■現象/要望
プロジェクトのメンバー定義を一括してコピーしたい。
(PJ自体のコピーでは無く、メンバー定義内容のみをコピー)
プロジェクト間のメンバー継承機能は利用しないものとする。
h3. ■解決策
RAILSコンソールにより可能
"src_pj" のメンバー定義内容を、"dst_pj" にコピーする場合
Redmineのコンソール上で
bundle exec rails console production
pj_src=Project.find_by_name("src_pj")
pj_dst=Project.find_by_name("dst_pj")
/* members と queriesをコピーする場合*/
pj_src.copy(pj_dst, :only => ['members', 'versions'])
詳細は コード参照先 app/models/project.rb 参照
Projectの下記要素に対して同様に実行可能 pj_dst.copy_members(pj_src) でも可能だが、
wiki,versions,categories,issues,members,queries copy_membersのスコープが privateになっているので、そのままではclass外から呼び出せない。
copy_membersの前後を public と private で囲む必要がある。
h3. ■対応状況
RAILS Console上の操作で可能
adminの作業負荷を減らしましょう。。
h3. ■補足
サブプロジェクトで継承できる機能(versions,members)の対応については確認必要と思われる。
pj_dst.copy_members(pj_src) でも可能だったが、 Projectの下記要素に対して同様に実行可能
copy_membersのスコープが privateになっているので、そのままではclass外から呼び出せない。
copy_membersの前後を public と private で囲む必要がある。
(事前処理が必要な場合もあるので、十分確認した上で) wiki,versions,categories,issues,members,queries
戻る