Closed cbleek closed 8 years ago
Clarification: What @cbleek wrote about the apply uri is not right.
The OneClick apply setting must affect the rendering of the apply button in the job template view.
There are three templates available at the moment, which are located in /module/Jobs/public/templates
The apply button currently is rendered completely in the view (e.g.: default/index.phtml#L82-L83).
The ApplyUri is assembled in /module/Jobs/src/Jobs/Filter/ViewModelTemplateFilterAbstract.php#L146
There will be more than one apply uri if the feature is implemented, so we need to handle this.
To keep the job templates simple, it might be useful to create a view helper "ApplyButton" (or maybe use a better/other name) that will take care of the rendering. To let users keep the full control over the design, this view helper must also be able to get a view partial name passed, which it then uses to render the buttons.
You will have to figure out, how the apply uris will get to the job template (and the button partial).
Some files you might want to look at: /module/Jobs/src/Jobs/Filter/ViewModelTemplateFilterJob.php /module/Jobs/src/Jobs/Controller/TemplateController.php#L52 /module/Jobs/view/iframe/iFrameInjection.phtml
@TiSiE thank you for clarification and hints
The apply one-click-apply buttons have to be integrated directly into to job posting. Example:
Currently a user can integrate an apply button into a template by:
<?php if ($this->uriApply): ?>
<div class="apply">
<a target="_new" class="button button-primary" href="<?php echo $this->uriApply ?>" rel="nofollow">
<strong><?php echo $this->translate("Apply now")?></strong>
</a>
</div>
<?php endif; ?>
This way, the user has the full controll about the layout of the Apply Button. The Idea is, that a user can integrate the apply button using a view helper.
<?php echo $this->renderButton($this->applyButton) ?>
This view helper takes all the logic (is oneClick apply is enabled, which buttons have to be displayed). The view helper should take an optional options array. So if a user needs to modify the layout of the buttons, he should be able to do it like this
<?php
echo $this->renderButton(
$this->applyButton,
[
'partial'=>'myviewpartial.phtml',
'one-click-apply-only'=>'true',
'label' = 'apply now',
'one-click-apply-label'=>'apply with',
'send-application-immediently' => false
]
)
?>
By clicking on those Buttons, an application should be send immediently. Means, we need an additional action in the ApplyController. Let's name it 'oneClickApply'. This action pulls the users profile from the social network and attaches it to the application
@TiSiE can you go into detail here?
The optional parameters of the view helper:
Better option keys are welcome:-)
Feature successfully completed.
It should be possible for a user to apply with one klick to a job posting. The following things have to be modified get this feature.
Our ATS Mode Fieldset enables the user to define, how an application button is integrated into his job posting. A javascript shows/hides elements depending, which mode is selected (The javascript https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/public/js/form.ats-mode.js currently does not work. It should be fixed.)
When selecting the mode="intern", an additional checkbox labled "One-Click-Apply" should appear. By enabling the the One-Click-Apply feature the user should select the social networks (linkedin, xing, facebook)
let me point you to the code.
ATS Mode Fieldset propably need 2 more attributes. Maybe (bool) "oneClickApply" and (array) "oneClickApplyProfiles"
https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/Form/AtsModeFieldset.php
Depending on those attributes, the Apply Button has to be modified in
https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/View/Helper/ApplyUrl.php
The additional Attributes have to be defined in the Entity.
https://github.com/cross-solution/YAWIK/blob/develop/module/Jobs/src/Jobs/Entity/AtsMode.php
After these changes, it should be possible to create a Job posting containing a One-Click-Apply Button.
We probably need an additional Contoller which gets the profile from the social network and attaches it to the application. In addition, the contact data have to be mapped to the Applications/Contact Entity.