Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Options

Is there a way I can see what applicants put in the registration form?

Hi Everyone

I am not a developer or know how to code everything I've done is self taught so hope this is not a silly question.

I've managed to add sections to my registration form for applicants e.g. Occupation. However I cannot see what they input in this field which I would like to do to approve them.

Thanks

Amy

Comments

  • Options
    R_JR_J Ex-Fanboy Munich Admin

    I guess you've started by just altering the view. Vanilla is not a simple php script but it is based on a mighty framework. Frameworks can save you from manual effort. So if you extend the underlying database, creating forms for those added fields is quite easy. Maybe that tutorial will help you: http://vanillawiki.homebrewforums.net/index.php/Practical_Example:_How_to_Extend_Existing_Forms
    It shows how to extend the user profile so you would also have to extend the registration form in a similar way.

    Extending the profile is done in that function public function ProfileController_EditMyAccountAfter_Handler($Sender) { So you would have to find out how to extend the registration form. Enable the "Eventi" plugin. It will show you what event you will have to hook for the registration form.

  • Options

    easiest way is to use profile extender plugin in vanilla 2.1b2. then you don't have to do much of anything except upgrade and enable plugin with the fields you want.

    then you could read the meta table based on the field you entered.

     $SQL = Gdn::SQL();
    $this->ProfileData = $SQL
    ->Select('*')
    ->From('UserMeta')
    ->Where(array('UserID' =>$AuthorID,'Name like ' => "Profile.%"))
    ->Get()->ResultArray();
    

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Options
    edited March 2014

    Thankyou to both of you. I will attack this today and let you know how I go.
    Your help is much appreciated.

    :smile:

  • Options

    I fell that both these solutions will help with showing this information in the users profile only, correct? The information I want is to be kept private from the other users on the forum and I need to see it before their application is approved therefore adding it to their profile would not be appropriate?

    I've been looking in the dashboard/views/users/applicants area I have a feeling that below is what needs modifying?

      $AppText = Plural($NumApplicants, 'There is currently %s applicant', 'There are currently %s applicants');
    

    ?>

    <?php echo sprintf($AppText, $NumApplicants); ?>

    <

    table class="CheckColumn">



    <?php echo T('Action'); ?>
    <?php echo T('Applicant'); ?>
    <?php echo T('Options'); ?>



    <?php foreach ($this->UserData->Format('Text')->Result() as $User) { ?>

    <?php echo $this->Form->CheckBox('Applicants[]', '', array('value' => $User->UserID)); ?>

    <?php
    printf(T('%1$s (%2$s) %3$s'), $User->Name, Gdn_Format::Email($User->Email), Gdn_Format::Date($User->DateInserted));
            $this->EventArguments['User'] = $User;
            $this->FireEvent("ApplicantInfo");
            echo '<blockquote>'.$User->DiscoveryText.'</blockquote>';
    
            $this->EventArguments['User'] = $User;
            $this->FireEvent("AppendApplicantInfo");
         ?></td>
         <td><?php
    

    Thanks

    Amy

  • Options
    R_JR_J Ex-Fanboy Munich Admin

    @vestibularforum said:
    I've been looking in the dashboard/views/users/applicants area I have a feeling that below is what needs modifying?

    DON'T MODIFY!

    See that $this->FireEvent("AppendApplicantInfo");? That's where you have a chance to insert whatever you want into the page. You just have to hook into that event:

    public function UserController_ApplicantInfo_Handler($Sender) {
    // use AppendApplicantInfo to show after DiscoveryText
       $User = $Sender->EventArguments['User'];
       echo '< div >'.$User->AnyColumnFromTableUser.'< /div >';
    }   
    

    Add that function to your plugin and that's it!
    You will not have to (and should never do) change any core files in order to show additional files.

Sign In or Register to comment.