أرسل بريدًا إلكترونيًا عند إنشاء سجل جديد عبر مولد المسؤول

StackOverflow https://stackoverflow.com/questions/3108525

سؤال

كنت قد استخدمت مولد Symfony Admin لإنشاء تطبيق ويب لإدارة الرياضيين. كان أحد متطلبات العميل الأخيرة هو إضافة ميزة لإشعار المستخدم وإرسال بريد إلكتروني إلى المسؤولين عندما يتم إدراج رياضي بنفس الرقم على قاعدة البيانات. حتى الآن ، كان لعدد عمود طاولة الرياضيين قيدًا فريدًا ، لكن العميل يرغب في إدراج الرياضي عن طريق الإدراج على أي حال.

لإنجاز ذلك ، كنت أحاول تمديد الإجراءات التعديل / الجديدة من أجل تنفيذ متطلبات العميل.

هنا هو الرمز:

public function executeEdit(sfWebRequest $request)
    {
        $user = $this->getUser();

        if(! $user->hasCredential('admin'))
        {

            $clube_id = $user->getAttribute('id');
            $atleta_id = $request->getParameter('id');
            $atleta = Doctrine::getTable('Atleta')->find($atleta_id);

            if($clube_id != $atleta->clube_id)
                $this->forward404();        

        }

        if($request->get('post'))
        {
            // check if the inserted athlete BI already exists; if so, display a message to the user and send an email to the system admins
            $atleta_id = $request->getParameter('id');
            $atletaBIExiste = Doctrine::getTable('Atleta')->findDuplicateAthleteBI($atleta_id);

            if($atletaBIExiste)
            {
                // display a notice message to the user
                $this->getUser()->setFlash('error', 'Athlete already exists');

                // send an email to the system administrator
            }
        }


        return parent::executeEdit($request);
    }

إليكم مشكلتي: عندما أقوم بتنفيذ إجراء التحرير ، أريد فقط التحقق من رقم رياضي مكرر عندما يكون HTTP منشورًا ولكن يبدو أنه لم يحدث أبدًا. لقد أرسلت بالفعل بعض الاستثناءات إلى الإخراج للتحقق من النوع الذي هو طلب HTTP ويبدو أنه يحصل دائمًا.

هل كانت مفيدة؟

المحلول

المشكلة التي ستواجهها هي أنه عندما تضغط على حفظ على صفحة التحرير ، لم يتم نشر المعلومات في إجراء التحرير ، يتم نشرها في إجراء يسمى التحديث.

ألقِ نظرة على ملف Actions.class.php في ذاكرة التخزين المؤقت وسترى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top