Esempio n. 1
0
function editlotowner_POST(Web $w)
{
    list($lotId, $lotOwnerId) = $w->pathMatch("lotId", "lotOwnerId");
    if (empty($lotId)) {
        $w->out("no lot id provide");
        return;
    }
    $lot = $w->Bend->getLotForId($lotId);
    $lotOwner = new BendLotOwner($w);
    $user = new User($w);
    $contact = new Contact($w);
    if (!empty($lotOwnerId)) {
        $lotOwner = $w->Bend->getBendLotOwnerForId($lotOwnerId);
    }
    $lotOwner->fill($_POST);
    $lotOwner->bend_lot_id = $lotId;
    $lotOwner->insertOrUpdate();
    if ($lotOwner->user_id) {
        $user = $lotOwner->getUser();
        $contact = $user->getContact();
    }
    $contact->fill($_POST);
    $contact->insertOrUpdate();
    // create a new user if necessary
    if (empty($user->id)) {
        $user->contact_id = $contact->id;
        $user->login = $contact->email;
        $user->is_active = 1;
        $user->redirect_url = "bend";
        $user->insert();
        // assign to bend users group
        $group = $w->Auth->getUserForLogin("Bend Users");
        if (empty($group)) {
            // create the group!
            $group = new User($w);
            $group->is_group = 1;
            $group->login = "******";
            $group->insert();
        }
        $gu = new GroupUser($w);
        $gu->group_id = $group->id;
        $gu->user_id = $user->id;
        $gu->role = "member";
        $gu->insert();
        $lotOwner->user_id = $user->id;
        $lotOwner->update();
    }
    $w->msg("Lot Owner updated", "/bend-lot/showlot/{$lotId}");
}
Esempio n. 2
0
function editoccupant_POST(Web $w)
{
    list($householdid, $occupantid) = $w->pathMatch("a", "b");
    if (empty($householdid)) {
        $w->out("no household id provide");
        return;
    }
    $household = $w->Bend->getHouseholdForId($householdid);
    $oc = new BendHouseholdOccupant($w);
    $user = new User($w);
    $contact = new Contact($w);
    if (!empty($occupantid)) {
        $oc = $w->Bend->getHouseholdOccupantForId($occupantid);
    }
    $oc->fill($_POST);
    $oc->bend_household_id = $householdid;
    $oc->insertOrUpdate();
    if (!empty($oc->user_id)) {
        $user = $oc->getUser();
        $contact = $user->getContact();
    }
    $contact->fill($_POST);
    $contact->insertOrUpdate();
    // create a new user if necessary
    if (empty($user->id)) {
        $user->contact_id = $contact->id;
        $user->login = $contact->email;
        $user->is_active = 1;
        $user->redirect_url = "bend";
        $user->insert();
        // assign to bend users group
        $group = $w->Auth->getUserForLogin("Bend Users");
        if (empty($group)) {
            // create the group!
            $group = new User($w);
            $group->is_group = 1;
            $group->login = "******";
            $group->insert();
        }
        $gu = new GroupUser($w);
        $gu->group_id = $group->id;
        $gu->user_id = $user->id;
        $gu->role = "member";
        $gu->insert();
        $oc->user_id = $user->id;
        $oc->update();
    }
    $w->msg("Occupant updated", "/bend-household/show/{$household->bend_lot_id}/{$householdid}");
}
Esempio n. 3
0
function groupmember_POST(Web $w)
{
    $p = $w->pathMatch("group_id");
    $member_id = $w->request('member_id');
    $group_id = $p['group_id'];
    $is_owner = $w->request('is_owner');
    $exceptions = array();
    // store all parent groups in session
    $groupUsers = $w->Auth->getUser($group_id)->isInGroups();
    if ($groupUsers) {
        foreach ($groupUsers as $groupUser) {
            $groupUser->getParents();
        }
    }
    // add member to the group only if it isn't already in there
    // this logic should move to the model!
    $existUser = $w->Auth->getUser($member_id)->isInGroups($group_id);
    if (!$existUser) {
        if (!$w->session('parents') || !in_array($member_id, $w->session('parents'))) {
            $groupMember = new GroupUser($w);
            $groupMember->group_id = $group_id;
            $groupMember->user_id = $member_id;
            $groupMember->role = $is_owner && $is_owner == 1 ? "owner" : "member";
            $groupMember->insert();
        }
        if ($w->session('parents') && in_array($member_id, $w->session('parents'))) {
            $exceptions[] = $w->Auth->getUser($member_id)->login;
        }
    } else {
        $user = $existUser[0]->getUser();
        $exceptions[] = $user->is_group == 1 ? $user->login : $user->getContact()->getFullName();
    }
    $w->sessionUnset('parents');
    if (!empty($exceptions)) {
        $w->error(implode(", ", $exceptions) . " can not be added!", "/admin/moreInfo/" . $group_id);
    } else {
        $w->msg("New members are added!", "/admin/moreInfo/" . $group_id);
    }
}