Example #1
0
    public function install()
    {
        parent::install();
        $default_language = \GO::config()->default_country;
        if (empty($default_language)) {
            $default_language = 'US';
        }
        $addressbook = new Model\Addressbook();
        $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('prospects', 'addressbook')));
        $addressbook->save();
        $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION);
        $addressbook = new Model\Addressbook();
        $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('suppliers', 'addressbook')));
        $addressbook->save();
        $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION);
        if (!is_dir(\GO::config()->file_storage_path . 'contacts/contact_photos')) {
            mkdir(\GO::config()->file_storage_path . 'contacts/contact_photos', 0755, true);
        }
        $addressbook = new Model\Addressbook();
        $addressbook->setAttributes(array('user_id' => 1, 'name' => \GO::t('customers', 'addressbook')));
        $addressbook->save();
        $addressbook->acl->addGroup(\GO::config()->group_internal, \GO\Base\Model\Acl::WRITE_PERMISSION);
        //Each user should have a contact
        $stmt = \GO\Base\Model\User::model()->find(\GO\Base\Db\FindParams::newInstance()->ignoreAcl());
        while ($user = $stmt->fetch()) {
            $user->createContact();
        }
        $message = new \GO\Base\Mail\Message();
        $message->setHtmlAlternateBody('{salutation},<br />
<br />
{body}<br />
<br />
' . \GO::t('greet', 'addressbook') . '<br />
<br />
<br />
{user:name}<br />
{usercompany:name}<br />');
        $template = new Model\Template();
        $template->setAttributes(array('content' => $message->toString(), 'name' => \GO::t('default'), 'type' => Model\Template::TYPE_EMAIL, 'user_id' => 1));
        $template->save();
        $template->acl->addGroup(\GO::config()->group_internal);
        $dt = Model\Template::model()->findSingleByAttribute('name', 'Letter');
        if (!$dt) {
            $dt = new Model\Template();
            $dt->type = Model\Template::TYPE_DOCUMENT;
            $dt->content = file_get_contents(\GO::modules()->addressbook->path . 'install/letter_template.docx');
            $dt->extension = 'docx';
            $dt->name = 'Letter';
            $dt->save();
            $dt->acl->addGroup(\GO::config()->group_internal);
        }
        $this->setFolderPermissions();
    }