public function savePreferences($form) { $repo = new \repositories\UserNotificationPreferenceRepository(); foreach ($this->preferences as $key => $preference) { $repo->editEmailPreference($this->user, $preference->getUserNotificationPreferenceExtensionID(), $preference->getUserNotificationPreferenceType(), $form->get($key)->getData()); } }
function testSetThenGet() { $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $user->setUsername("test"); $user->setPassword("password"); $userRepo = new UserAccountRepository(); $userRepo->create($user); $prefRepo = new UserNotificationPreferenceRepository(); ### Set $prefRepo->editEmailPreference($user, 'org.openacalendar', 'WatchPrompt', true); ### Test $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchPrompt'); $this->assertEquals(true, $pref->getIsEmail()); $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchNotify'); $this->assertEquals(true, $pref->getIsEmail()); ### Set $prefRepo->editEmailPreference($user, 'org.openacalendar', 'WatchPrompt', false); ### Test $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchPrompt'); $this->assertEquals(false, $pref->getIsEmail()); $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchNotify'); $this->assertEquals(true, $pref->getIsEmail()); ### Set $prefRepo->editEmailPreference($user, 'org.openacalendar', 'WatchNotify', false); ### Test $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchPrompt'); $this->assertEquals(false, $pref->getIsEmail()); $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchNotify'); $this->assertEquals(false, $pref->getIsEmail()); ### Set $prefRepo->editEmailPreference($user, 'org.openacalendar', 'WatchPrompt', true); ### Test $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchPrompt'); $this->assertEquals(true, $pref->getIsEmail()); $pref = $prefRepo->load($user, 'org.openacalendar', 'WatchNotify'); $this->assertEquals(false, $pref->getIsEmail()); }