mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 22:43:19 +00:00
Fix unit tests
This commit is contained in:
@@ -238,7 +238,7 @@ class Export implements ControllerProviderInterface
|
||||
$list = $download->prepare_export(
|
||||
$app['phraseanet.user'],
|
||||
$app['filesystem'],
|
||||
$request->request->get('obj'),
|
||||
(array) $request->request->get('obj'),
|
||||
$request->request->get("type") == "title" ? : false,
|
||||
$request->request->get('businessfields')
|
||||
);
|
||||
@@ -288,9 +288,9 @@ class Export implements ControllerProviderInterface
|
||||
$receiver = new Receiver(null, trim($mail));
|
||||
|
||||
$mail = MailRecordsExport::create($app, $receiver, $emitter, $request->request->get('textmail'));
|
||||
$mail->setUrl($url);
|
||||
$mail->setEnddate($endDateObject);
|
||||
|
||||
$mail->setButtonUrl($url);
|
||||
$mail->setExpiration($endDateObject);
|
||||
|
||||
try {
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
unset($remaingEmails[$key]);
|
||||
|
@@ -21,7 +21,6 @@ use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||
use Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser;
|
||||
use Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesser;
|
||||
use Symfony\Component\Serializer\Serializer;
|
||||
|
||||
/**
|
||||
* Upload controller collection
|
||||
@@ -303,7 +302,7 @@ class Upload implements ControllerProviderInterface
|
||||
|
||||
foreach ($user->ACL()->get_granted_base(array('canaddrecord')) as $collection) {
|
||||
$databox = $collection->get_databox();
|
||||
|
||||
|
||||
if ( ! isset($collections[$databox->get_sbas_id()])) {
|
||||
$collections[$databox->get_sbas_id()] = array(
|
||||
'databox' => $databox,
|
||||
|
@@ -296,13 +296,13 @@ class Account implements ControllerProviderInterface
|
||||
}
|
||||
|
||||
try {
|
||||
$date = new DateTime('1 day');
|
||||
$token = random::getUrlToken($app, \random::TYPE_EMAIL, $app['phraseanet.user']->get_id(), $date, $app['phraseanet.user']->get_email());
|
||||
$date = new \DateTime('1 day');
|
||||
$token = \random::getUrlToken($app, \random::TYPE_EMAIL, $app['phraseanet.user']->get_id(), $date, $app['phraseanet.user']->get_email());
|
||||
$url = $app['phraseanet.registry']->get('GV_ServerName') . 'account/reset-email/?token=' . $token;
|
||||
|
||||
$receiver = Receiver::fromUser($app['phraseanet.user']);
|
||||
$mail = MailRequestEmailUpdate::create($app, $receiver, null);
|
||||
$mail->setUrl($url);
|
||||
$mail->setButtonUrl($url);
|
||||
$mail->setExpiration($date);
|
||||
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
@@ -287,17 +287,23 @@ class Login implements ControllerProviderInterface
|
||||
|
||||
\random::removeToken($app, $code);
|
||||
|
||||
if (\Swift_Validate::email($user->get_email())) {
|
||||
if (count($user->ACL()->get_granted_base()) > 0) {
|
||||
$mail = MailSuccessEmailConfirmationRegistered::create($app, Receiver::fromUser($user));
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
}
|
||||
if (!\Swift_Validate::email($user->get_email())) {
|
||||
return $app->redirect('/login/?redirect=prod¬ice=invalid-email');
|
||||
}
|
||||
|
||||
$user->set_mail_locked(false);
|
||||
\random::removeToken($app, $code);
|
||||
$user->set_mail_locked(false);
|
||||
\random::removeToken($app, $code);
|
||||
|
||||
if (count($user->ACL()->get_granted_base()) > 0) {
|
||||
$mail = MailSuccessEmailConfirmationRegistered::create($app, Receiver::fromUser($user));
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
||||
return $app->redirect('/login/?redirect=prod¬ice=confirm-ok');
|
||||
} else {
|
||||
$mail = MailSuccessEmailConfirmationUnregistered::create($app, Receiver::fromUser($user));
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
||||
return $app->redirect('/login/?redirect=prod¬ice=confirm-ok-wait');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -328,13 +334,9 @@ class Login implements ControllerProviderInterface
|
||||
|
||||
$mail = MailRequestEmailConfirmation::create($app, Receiver::fromUser($user));
|
||||
$mail->setButtonUrl($url);
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
||||
try {
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
return $app->redirect($app['url_generator']->generate('login_forgot_password', array('sent' => 'ok')));
|
||||
} catch (\Exception $e) {
|
||||
return $app->redirect($app['url_generator']->generate('login_forgot_password', array('sent' => 'ok')));
|
||||
}
|
||||
return $app->redirect($app['url_generator']->generate('login_forgot_password', array('sent' => 'ok')));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -632,82 +634,72 @@ class Login implements ControllerProviderInterface
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
$user = \User_Adapter::create($app, $request->request->get('form_login'), $request->request->get("form_password"), $request->request->get("form_email"), false);
|
||||
$user = \User_Adapter::create($app, $request->request->get('form_login'), $request->request->get("form_password"), $request->request->get("form_email"), false);
|
||||
|
||||
$user->set_gender($request->request->get('form_gender'))
|
||||
->set_firstname($request->request->get('form_firstname'))
|
||||
->set_lastname($request->request->get('form_lastname'))
|
||||
->set_address($request->request->get('form_address'))
|
||||
->set_zip($request->request->get('form_zip'))
|
||||
->set_tel($request->request->get('form_phone'))
|
||||
->set_fax($request->request->get('form_fax'))
|
||||
->set_job($request->request->get('form_job'))
|
||||
->set_company($request->request->get('form_company'))
|
||||
->set_position($request->request->get('form_activity'))
|
||||
->set_geonameid($request->request->get('form_geonameid'));
|
||||
$user->set_gender($request->request->get('form_gender'))
|
||||
->set_firstname($request->request->get('form_firstname'))
|
||||
->set_lastname($request->request->get('form_lastname'))
|
||||
->set_address($request->request->get('form_address'))
|
||||
->set_zip($request->request->get('form_zip'))
|
||||
->set_tel($request->request->get('form_phone'))
|
||||
->set_fax($request->request->get('form_fax'))
|
||||
->set_job($request->request->get('form_job'))
|
||||
->set_company($request->request->get('form_company'))
|
||||
->set_position($request->request->get('form_activity'))
|
||||
->set_geonameid($request->request->get('form_geonameid'));
|
||||
|
||||
$demandOK = array();
|
||||
$demandOK = array();
|
||||
|
||||
if (!!$app['phraseanet.registry']->get('GV_autoregister')) {
|
||||
if (!!$app['phraseanet.registry']->get('GV_autoregister')) {
|
||||
|
||||
$template_user_id = \User_Adapter::get_usr_id_from_login($app, 'autoregister');
|
||||
$template_user_id = \User_Adapter::get_usr_id_from_login($app, 'autoregister');
|
||||
|
||||
$template_user = \User_Adapter::getInstance($template_user_id, $app);
|
||||
$template_user = \User_Adapter::getInstance($template_user_id, $app);
|
||||
|
||||
$base_ids = array();
|
||||
$base_ids = array();
|
||||
|
||||
foreach (array_keys($inscOK) as $base_id) {
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
$user->ACL()->apply_model($template_user, $base_ids);
|
||||
foreach (array_keys($inscOK) as $base_id) {
|
||||
$base_ids[] = $base_id;
|
||||
}
|
||||
|
||||
$autoReg = $user->ACL()->get_granted_base();
|
||||
|
||||
$appbox_register = new \appbox_register($app['phraseanet.appbox']);
|
||||
|
||||
foreach ($demands as $base_id) {
|
||||
if (false === $inscOK[$base_id] || $user->ACL()->has_access_to_base($base_id)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$collection = \collection::get_from_base_id($app, $base_id);
|
||||
$appbox_register->add_request($user, $collection);
|
||||
unset($collection);
|
||||
$demandOK[$base_id] = true;
|
||||
}
|
||||
|
||||
$params = array(
|
||||
'demand' => $demandOK,
|
||||
'autoregister' => $autoReg,
|
||||
'usr_id' => $user->get_id()
|
||||
);
|
||||
|
||||
$app['events-manager']->trigger('__REGISTER_AUTOREGISTER__', $params);
|
||||
$app['events-manager']->trigger('__REGISTER_APPROVAL__', $params);
|
||||
|
||||
$user->set_mail_locked(true);
|
||||
|
||||
try {
|
||||
$expire = new \DateTime('+3 days');
|
||||
$token = \random::getUrlToken($app, \random::TYPE_PASSWORD, $user->get_id(), $expire, $user->get_email());
|
||||
|
||||
$mail = MailRequestEmailConfirmation::create($app, Receiver::fromUser($user));
|
||||
$mail->setButtonUrl($app['phraseanet.registry']->get('GV_ServerName') . "register-confirm/?code=" . $token);
|
||||
$mail->setExpiration($expire);
|
||||
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
||||
return $app->redirect('/login/?notice=mail-sent');
|
||||
} catch (\Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
return $app->redirect(sprintf('/login/?usr=%d', $user->get_id()));
|
||||
} catch (\Exception $e) {
|
||||
return $app->redirect('/login/?error=unexpected');
|
||||
$user->ACL()->apply_model($template_user, $base_ids);
|
||||
}
|
||||
|
||||
$autoReg = $user->ACL()->get_granted_base();
|
||||
|
||||
$appbox_register = new \appbox_register($app['phraseanet.appbox']);
|
||||
|
||||
foreach ($demands as $base_id) {
|
||||
if (false === $inscOK[$base_id] || $user->ACL()->has_access_to_base($base_id)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$collection = \collection::get_from_base_id($app, $base_id);
|
||||
$appbox_register->add_request($user, $collection);
|
||||
unset($collection);
|
||||
$demandOK[$base_id] = true;
|
||||
}
|
||||
|
||||
$params = array(
|
||||
'demand' => $demandOK,
|
||||
'autoregister' => $autoReg,
|
||||
'usr_id' => $user->get_id()
|
||||
);
|
||||
|
||||
$app['events-manager']->trigger('__REGISTER_AUTOREGISTER__', $params);
|
||||
$app['events-manager']->trigger('__REGISTER_APPROVAL__', $params);
|
||||
|
||||
$user->set_mail_locked(true);
|
||||
|
||||
$expire = new \DateTime('+3 days');
|
||||
$token = \random::getUrlToken($app, \random::TYPE_PASSWORD, $user->get_id(), $expire, $user->get_email());
|
||||
|
||||
$mail = MailRequestEmailConfirmation::create($app, Receiver::fromUser($user));
|
||||
$mail->setButtonUrl($app['phraseanet.registry']->get('GV_ServerName') . "register-confirm/?code=" . $token);
|
||||
$mail->setExpiration($expire);
|
||||
|
||||
$app['notification.deliverer']->deliver($mail);
|
||||
|
||||
return $app->redirect('/login/?notice=mail-sent');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -3,6 +3,7 @@
|
||||
namespace Alchemy\Phrasea\Core\Provider;
|
||||
|
||||
use Alchemy\Phrasea\Notification\Deliverer;
|
||||
use Alchemy\Phrasea\Notification\Emitter;
|
||||
use Silex\Application;
|
||||
use Silex\ServiceProviderInterface;
|
||||
|
||||
@@ -10,8 +11,24 @@ class NotificationDelivererServiceProvider implements ServiceProviderInterface
|
||||
{
|
||||
public function register(Application $app)
|
||||
{
|
||||
$app['notification.default.emitter'] = $app->share(function (Application $app) {
|
||||
return new Emitter(
|
||||
$app['phraseanet.registry']->get('GV_defaulmailsenderaddr', 'no-reply@phraseanet.com'),
|
||||
$app['phraseanet.registry']->get('GV_homeTitle', 'Phraseanet')
|
||||
);
|
||||
});
|
||||
|
||||
$app['notification.prefix'] = $app->share(function (Application $app) {
|
||||
return $app['phraseanet.registry']->get('GV_email_prefix');
|
||||
});
|
||||
|
||||
$app['notification.deliverer'] = $app->share(function($app) {
|
||||
return new Deliverer($app['mailer'], $app['phraseanet.registry'], $app['dispatcher']);
|
||||
return new Deliverer(
|
||||
$app['mailer'],
|
||||
$app['dispatcher'],
|
||||
$app['notification.default.emitter'],
|
||||
$app['notification.prefix']
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -546,12 +546,8 @@ class Edit extends \Alchemy\Phrasea\Helper\Helper
|
||||
$mailOldAddress = MailSuccessEmailUpdate::create($this->app, $oldReceiver, null, sprintf(_('You will now receive notifications at %s'), $new_email));
|
||||
$mailNewAddress = MailSuccessEmailUpdate::create($this->app, $newReceiver, null, sprintf(_('You will no longer receive notifications at %s'), $old_email));
|
||||
|
||||
try {
|
||||
$this->app['notification.deliverer']->deliver($mailOldAddress);
|
||||
$this->app['notification.deliverer']->deliver($mailNewAddress);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
}
|
||||
$this->app['notification.deliverer']->deliver($mailOldAddress);
|
||||
$this->app['notification.deliverer']->deliver($mailNewAddress);
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
@@ -14,6 +14,7 @@ namespace Alchemy\Phrasea\Helper\User;
|
||||
use Alchemy\Phrasea\Helper\Helper;
|
||||
use Alchemy\Phrasea\Notification\Receiver;
|
||||
use Alchemy\Phrasea\Notification\Mail\MailRequestPasswordSetup;
|
||||
use Alchemy\Phrasea\Notification\Mail\MailSuccessEmailConfirmationUnregistered;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -183,7 +184,7 @@ class Manage extends Helper
|
||||
|
||||
if (false !== $urlToken) {
|
||||
$mail = MailSuccessEmailConfirmationUnregistered::create($this->app, Receiver::fromUser($createdUser));
|
||||
$mail->setUrl($this->app['url_generator']->generate('login_forgot_password', array('token' => $urlToken), true));
|
||||
$mail->setButtonUrl($this->app['url_generator']->generate('login_forgot_password', array('token' => $urlToken), true));
|
||||
$this->app['notification.deliverer']->deliver($mail);
|
||||
}
|
||||
}
|
||||
|
@@ -50,7 +50,10 @@ class Emitter implements EmitterInterface
|
||||
public static function fromUser(\User_Adapter $user)
|
||||
{
|
||||
if (!\Swift_Validate::email($user->get_email())) {
|
||||
throw new InvalidArgumentException(sprintf('User provided does not have a valid e-mail address'));
|
||||
throw new InvalidArgumentException(sprintf(
|
||||
'User provided does not have a valid e-mail address (%s)',
|
||||
$user->get_email()
|
||||
));
|
||||
}
|
||||
|
||||
return new static($user->get_display_name(), $user->get_email());
|
||||
|
@@ -50,7 +50,10 @@ class Receiver implements ReceiverInterface
|
||||
public static function fromUser(\User_Adapter $user)
|
||||
{
|
||||
if (!\Swift_Validate::email($user->get_email())) {
|
||||
throw new InvalidArgumentException(sprintf('User provided does not have a valid e-mail address'));
|
||||
throw new InvalidArgumentException(sprintf(
|
||||
'User provided does not have a valid e-mail address (%s)',
|
||||
$user->get_email()
|
||||
));
|
||||
}
|
||||
|
||||
return new static($user->get_display_name(), $user->get_email());
|
||||
|
@@ -36,7 +36,7 @@ class PhraseanetServiceProvider implements ServiceProviderInterface
|
||||
$app['firewall'] = $app->share(function(SilexApplication $app) {
|
||||
return new Firewall($app);
|
||||
});
|
||||
|
||||
|
||||
$app['events-manager'] = $app->share(function(SilexApplication $app) {
|
||||
$events = new \eventsmanager_broker($app);
|
||||
$events->start();
|
||||
|
Reference in New Issue
Block a user