كيفية تفعيل وإلغاء تجميد الحسابات للمستخدمين المستوردين

مرحباً،

لقد استوردت منشورات من قائمة بريدية وتم إنشاء المستخدمين بنجاح.
لكنهم الآن في قائمة “المُعلَّقة”.

لذا يمكنني تفعيلهم واحداً تلو الآخر، ولكن كيف يمكنني تفعيلهم دفعة واحدة؟
وكيف يمكنني إلغاء تعليقهم أيضاً؟ لا أرى أي زر لإلغاء تعليق مستخدم.

ثم، يكون المستخدمون في قائمة الانتظار الخاصة بي، وحتى في هذه الحالة، هل توجد طريقة للموافقة عليهم دفعة واحدة؟

شكراً.

الطريقة السهلة هي استخدام مستكشف البيانات

لا يسمح لك مكون الإضافات الخاص باستكشاف البيانات بتعديل البيانات.

يجب أن يحتوي الرابط التالي على بعض التلميحات: Administrative Bulk Operations

ربما يكون الأمر شبيهًا بـ:

User.all.update_all(active: true)

قد يؤدي ذلك إلى حل المشكلة.

قد يكون ذلك كافيًا، لكن إذا لم يتم التحقق من عناوين البريد الإلكتروني قبل أو أثناء أو بعد الاستيراد، فستحدث مشاكل. ربما سيعمل ذلك مع قائمة بريدية، لكنه ليس أفضل ممارسة بشكل عام.

النهج الموصى به هو تشجيع المستخدمين على زيارة الموقع وإنشاء حساب باستخدام عنوان البريد الإلكتروني الذي استخدموه في القائمة البريدية. إذا تطابق البريد الإلكتروني مع بريد مستخدم في مرحلة الانتظار، فسيستحوذ المستخدم على حساب المستخدم في مرحلة الانتظار. وإلا، سيتم إنشاء حساب جديد.

فقط للتسجيل، @Julien_J، لقد أجبتُ على سؤالك، لكن إجابة جاستن أفضل!

مرحبًا،

لقد حاولت دعوة جميع المستخدمين. لقد استلموا بريد الدعوة بشكل صحيح، لكن عند محاولة إنشاء حساب باستخدام الاسم وكلمة المرور، وعند النقر على “قبول الدعوة”، لا يحدث أي شيء.

لذلك حاولت دعوة شخص ليس مستخدمًا مُدرجًا مسبقًا، وهنا تعمل العملية بشكل صحيح.

عند مراقبة وحدة تحكم Chrome، أرى خطأً على النحو التالي:

_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:10113 PUT https://www.domain.tld/invites/show/f38d1e480cd9fb2d218c0d7aeddafded.json 500
send @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:10113
ajax @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:9696
i @ _application-fe142cfba5f192f0e63470885009a5a5bfbf952412fc41b59ea670a3ae4c7e27.js:9027
(anonymous) @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:72238
n @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:72760
r @ _application-fe142cfba5f192f0e63470885009a5a5bfbf952412fc41b59ea670a3ae4c7e27.js:9041
submit @ _application-fe142cfba5f192f0e63470885009a5a5bfbf952412fc41b59ea670a3ae4c7e27.js:34690
t._join @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:67257
t.join @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66968
f @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:53760
(anonymous) @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:20968
r @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:50091
(anonymous) @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:20967
click @ _application-fe142cfba5f192f0e63470885009a5a5bfbf952412fc41b59ea670a3ae4c7e27.js:49429
trigger @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46074
e @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:43433
t._run @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:67275
t._join @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:67251
t.join @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66968
f @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:53760
(anonymous) @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46175
r @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:50091
handleEvent @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46171
handleEvent @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:45108
(anonymous) @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:45498
dispatch @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:5443
v.handle @ _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:5247
_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:38545 Uncaught Error: [object Object]
    at _application-fe142cfba5f192f0e63470885009a5a5bfbf952412fc41b59ea670a3ae4c7e27.js:34720
    at E (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:72211)
    at w (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:72194)
    at g (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:72130)
    at t.invoke (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66552)
    at e.t.flush (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66442)
    at e.t.flush (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66646)
    at e.t._end (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:67222)
    at e.t.end (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:66908)
    at e.t._run (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:67277)

أنا أستخدم أحدث إصدار +486.

وقد ذهبت لرؤية السجلات حيث وجدت:
رسالة (5 نسخ تم الإبلاغ عنها)

Reviewable::InvalidAction (لا يمكن تنفيذ `approve_user` على ReviewableUser)
app/models/reviewable.rb:346:in `perform'
app/models/invite_redeemer.rb:149:in `approve_account_if_needed'
app/models/invite_redeemer.rb:81:in `process_invitation'
app/models/invite_redeemer.rb:8:in `block in redeem'
app/models/invite_redeemer.rb:6:in `redeem'
app/models/invite.rb:85:in `redeem'
app/controllers/invites_controller.rb:52:in `perform_accept_invitation'
app/controllers/application_controller.rb:350:in `block in with_resolved_locale'
app/controllers/application_controller.rb:350:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:68:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:328:in `call'
config/initializers/100-quiet_logger.rb:19:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:22:in `call'
lib/middleware/request_tracker.rb:176:in `call'

Backtrace

app/models/reviewable.rb:346:in `perform'
app/models/invite_redeemer.rb:149:in `approve_account_if_needed'
app/models/invite_redeemer.rb:81:in `process_invitation'
app/models/invite_redeemer.rb:8:in `block in redeem'
activerecord (6.0.3.2) lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
activerecord (6.0.3.2) lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'

البيئة

HTTP HOSTS: www.domain.tld

وإلا، إذا حاول المستخدم المرحل استخدام وظيفة نسيان كلمة المرور لتعيين كلمة مرور جديدة، فسيظهر له خطأ ‘لم يتم العثور على المستخدم’…

هل لديك فكرة حول كيفية حل ذلك؟

@Julien_J أرسل لي عنوان موقعك في رسالة خاصة لأرى ما إذا كان بإمكاني مساعدتك

مرحباً،
لدي نفس المشكلة. هل تمكنت من حلها بطريقة ما؟ شكراً لك! :slight_smile:

لم يرسل لي رسالة خاصة بعد، إذن إما أنه وصل إلى الهدف أو أن الأمر لا يزال قيد الانتظار.

مرحبًا، آسف على عدم الرد.
في الواقع، منتداي يعمل فقط في وضع الخصوصية، لذا من الصعب القيام بأي شيء مع عنوان URL.

كما ترون في رسائلي السابقة، تم استلام الدعوة بشكل صحيح، لكن المستخدمين لم يتمكنوا من فعل أي شيء معها. لحل هذه المشكلة، ولأنني أعمل على قائمة صغيرة تضم أقل من 10 مستخدمين، قمت بتعديل البريد الإلكتروني لكل مستخدم باستخدام بريدي الخاص (مع استخدام بديل ديناميكي على Gmail مثل myemail+user1@gmail.com)، ثم استخدمت خيار “نسيت كلمة المرور” لتعيين كلمة مرور، وبعد ذلك قمت بتغيير البريد الإلكتروني إلى عنوان البريد الإلكتروني الصحيح للمستخدم.

هذه ليست الطريقة المثالية، لكنها تعمل.

تمت معالجته في