66use Craft \Postmaster_TransportModel ;
77
88class UserEmailParcelType extends DefaultParcelType {
9-
9+
1010 public function getName ()
1111 {
1212 return Craft::t ('User Email ' );
@@ -29,22 +29,35 @@ public function init()
2929 {
3030 $ user = $ event ->params ['user ' ];
3131
32+ // If the user doesn't have a password yet, use a Password Reset URL
33+ if (!$ user ->password )
34+ {
35+ $ activationUrl = $ parcelType ->craft ()->users ->getPasswordResetUrl ($ user );
36+ }
37+ else
38+ {
39+ $ activationUrl = $ parcelType ->craft ()->users ->getEmailVerifyUrl ($ user );
40+ }
41+
3242 $ isNewUser = isset ($ event ->params ['isNewUser ' ]) ? $ event ->params ['isNewUser ' ] : false ;
3343
3444 $ parcelType ->getParcelModel ()->settings ->parse (array_merge ($ event ->params , array (
3545 'user ' => $ user ,
36- 'isNewUser ' => $ isNewUser
46+ 'isNewUser ' => $ isNewUser ,
47+ 'activationUrl ' => $ activationUrl ,
3748 )));
3849
3950 $ parcelType ->settings ->parse (array_merge ($ event ->params , array (
4051 'user ' => $ user ,
41- 'isNewUser ' => $ isNewUser
52+ 'isNewUser ' => $ isNewUser ,
53+ 'activationUrl ' => $ activationUrl ,
4254 )));
4355
4456 $ parcelType ->getParcelModel ()->service ->settings ->parse (array_merge ($ event ->params , array (
4557 'user ' => $ user ,
4658 'settings ' => $ parcelType ->settings ,
47- 'isNewUser ' => $ isNewUser
59+ 'isNewUser ' => $ isNewUser ,
60+ 'activationUrl ' => $ activationUrl ,
4861 )));
4962
5063 if ($ parcelType ->validateUser ($ user , $ isNewUser ))
@@ -54,7 +67,8 @@ public function init()
5467 'settings ' => $ parcelType ->settings ,
5568 'data ' => array_merge ($ event ->params , array (
5669 'user ' => $ user ,
57- 'isNewUser ' => $ isNewUser
70+ 'isNewUser ' => $ isNewUser ,
71+ 'activationUrl ' => $ activationUrl ,
5872 ))
5973 ));
6074
@@ -63,7 +77,7 @@ public function init()
6377 });
6478 }
6579 }
66-
80+
6781 public function areTriggersValid ($ isNewUser )
6882 {
6983 if ($ this ->hasTriggers ())
@@ -108,4 +122,4 @@ public function getSettingsModelClassName()
108122 {
109123 return '\Craft\Postmaster_UserEmailParcelTypeSettingsModel ' ;
110124 }
111- }
125+ }
0 commit comments