예제 #1
0
 public function actionIndex()
 {
     $user = Yii::$app->user;
     $dashboard = [];
     if ($user->can('partner_view')) {
         $dashboard[] = ['name' => Html::tag('b', __('Partners')), 'link' => Url::to(['partner/index']), 'count' => Partner::find()->count()];
     }
     if ($user->can('visit_view') || $user->can('visit_view_all')) {
         $dashboard[] = ['name' => __('Visits'), 'link' => Url::to(['visit/index']), 'count' => Visit::find()->count()];
     }
     if ($user->can('donate_view') || $user->can('donate_view_all')) {
         $dashboard[] = ['name' => __('Donates'), 'link' => Url::to(['donate/index']), 'count' => Donate::find()->count()];
     }
     if ($user->can('task_view') || $user->can('task_view_all')) {
         $dashboard[] = ['name' => __('Tasks'), 'link' => Url::to(['task/index']), 'count' => Task::find()->count()];
     }
     if ($user->can('newsletter_view')) {
         $dashboard[] = ['name' => __('Mailing lists'), 'link' => Url::to(['mailing-list/index']), 'count' => MailingList::find()->count()];
         $dashboard[] = ['name' => __('Newsletters'), 'link' => Url::to(['newsletter/index']), 'count' => Newsletter::find()->count()];
         $dashboard[] = ['name' => __('Printing templates'), 'link' => Url::to(['print-template/index']), 'count' => PrintTemplate::find()->count()];
     }
     if ($user->can('user_manage')) {
         $dashboard[] = ['name' => __('Users'), 'link' => Url::to(['user/index']), 'count' => User::find()->count()];
     }
     return $this->render('index', ['dashboard' => $dashboard]);
 }
예제 #2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Partner::find()->joinWith('tags')->groupBy('partner.id');
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSizeLimit' => [10, 500]], 'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]]);
     $params = $this->processParams($params);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['partner.id' => $this->id, 'type' => $this->type, 'status' => $this->status, 'country_id' => $this->country_id, 'state_id' => $this->state_id, 'parent_id' => $this->parent_id, 'volunteer' => $this->volunteer, 'candidate' => $this->candidate, 'partner_tag.tag_id' => $this->tag_id]);
     $query->andFilterWhere(['like', 'partner.name', $this->name])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'state', $this->state])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'city', $this->city])->andFilterWhere(['like', 'notes', $this->notes]);
     $tags = $this->parseTagsStr([$this->publicTagsStr, $this->personalTagsStr]);
     if (true) {
         // AND
         foreach ($tags as $tag) {
             $query->andFilterWhere(['tag.name' => $tag]);
         }
     } else {
         // OR
         $query->andFilterWhere(['in', 'tag.name', $tags]);
     }
     if ($this->q) {
         $query->orFilterWhere(['like', 'partner.name', $this->q]);
         $query->orFilterWhere(['like', 'email', $this->q]);
         $query->orFilterWhere(['like', 'notes', $this->q]);
     }
     $this->addRangeCondition($query, 'created_at');
     $this->addRangeCondition($query, 'updated_at');
     return $dataProvider;
 }
예제 #3
0
 /**
  * Print
  */
 public function generate()
 {
     $content = [];
     $iteration = 0;
     $partners = Partner::find()->viaMailingLists($this->mailingLists)->all();
     if ($this->items_per_page) {
         $page_separator = Html::tag('div', '', ['style' => ['clear' => 'both']]);
         $page_begin_tag = Html::beginTag('div', ['style' => ['page-break-before' => 'always']]);
         $page_end_tag = $page_separator . Html::endTag('div');
         $content[] = $page_begin_tag;
     }
     foreach ($partners as $partner) {
         $iteration++;
         $content[] = $this->processContent($this->content, $partner);
         if ($this->items_per_page && $iteration % $this->items_per_page == 0) {
             $content[] = $page_end_tag;
             $content[] = $page_begin_tag;
         }
     }
     if ($this->items_per_page) {
         $content[] = $page_end_tag;
     }
     $content = implode(PHP_EOL, $content);
     if ($this->wrapper_enabled) {
         $content = preg_replace('/\\{content\\}/Sui', $content, $this->wrapper);
     }
     return $content;
 }
예제 #4
0
파일: Partner.php 프로젝트: vsguts/crm
 public function find()
 {
     if ($this->ids) {
         return PartnerModel::find()->where(['id' => $this->ids])->orderBy(['created_at' => SORT_DESC]);
     } else {
         $search = new PartnerSearch();
         $dataProvider = $search->search($this->queryParams);
         $dataProvider->pagination = false;
         return $dataProvider->query;
     }
 }
예제 #5
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Partner::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id]);
     $query->andFilterWhere(['like', 'code', $this->code])->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
예제 #6
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Partner::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'user_creator' => $this->user_creator, 'partnership_date' => $this->partnership_date, 'tier' => $this->tier]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'description', $this->description])->andFilterWhere(['like', 'url', $this->url])->andFilterWhere(['like', 'address', $this->address])->andFilterWhere(['like', 'nda', $this->nda])->andFilterWhere(['like', 'msa', $this->msa])->andFilterWhere(['like', 'agreement', $this->agreement])->andFilterWhere(['like', 'tags', $this->tags])->andFilterWhere(['like', 'categories', $this->categories]);
     return $dataProvider;
 }
예제 #7
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Partner::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'summary_en', $this->summary_en])->andFilterWhere(['like', 'summary_pt', $this->summary_pt])->andFilterWhere(['like', 'description_en', $this->description_en])->andFilterWhere(['like', 'description_pt', $this->description_pt])->andFilterWhere(['like', 'link', $this->link]);
     return $dataProvider;
 }
예제 #8
0
 /**
  * Ajax handler
  * 
  * @param  string  $q             Query
  * @param  boolean $organizations Include organizations flag
  * @return mixed
  */
 public function actionList($q, $organizations = false)
 {
     $partners = [];
     if ($q) {
         $query = Partner::find();
         if ($organizations) {
             $query->organizations();
         }
         $query->andWhere(['or', ['like', 'name', $q], ['like', 'city', $q]]);
         $models = $query->limit(30)->all();
         foreach ($models as $model) {
             $partners[] = ['id' => $model->id, 'text' => $model->extendedName];
         }
     }
     $this->ajaxAssign('partners', $partners);
 }
예제 #9
0
// echo $this->render('_search', ['model' => $searchModel]);
?>
    <div class="row">
        <div class="col-md-1">
            <p>
<?php 
echo Html::a('รับเข้าวัสดุ ', ['create'], ['class' => 'btn btn-success fa fa-plus']);
?>
            </p>
        </div>
        <div class="col-md-3">
            <p>
<?php 
echo Html::a('จ่ายพัสดุ', ['ream'], ['class' => 'btn btn-success fa fa-share']);
?>
            </p>
        </div>
        <div class="col-md-3">

        </div>
    </div>

    <?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'panel' => ['before' => ' '], 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'id', ['label' => 'บริษัท', 'format' => 'raw', 'value' => 'partnername', 'filter' => Html::activeDropDownList($searchModel, 'partner_id', ArrayHelper::map(Partner::find()->asArray()->all(), 'id', 'name'), ['class' => 'form-control', 'prompt' => 'Select Category'])], ['attribute' => 'd_date', 'width' => '300px', 'filterType' => GridView::FILTER_DATE, 'filterWidgetOptions' => ['options' => ['placeholder' => 'Enter date ...'], 'type' => DatePicker::TYPE_COMPONENT_APPEND, 'pluginOptions' => ['autoclose' => true, 'format' => 'yyyy-mm-dd']]], ['attribute' => 'is_admin', 'format' => 'html', 'value' => function ($data) {
    return "<a href='" . Url::to('index.php?r=site/report&id=' . $data->id) . "'>พิมพ์ใบสั่งซื้อ</a>";
}], ['class' => 'yii\\grid\\ActionColumn']]]);
?>


</div>
예제 #10
0
파일: Tag.php 프로젝트: vsguts/crm
 public function getPartnersCount()
 {
     return Partner::find()->joinWith('tags')->where(['tag_id' => $this->id])->count();
 }
예제 #11
0
            <div class="tab-content">
                <div id="home" class="tab-pane fade in active">
                    <h3>HOME</h3>
                    <p>Please choose an area and complete a workflow.</p>
                </div>
                <div id="partners" class="tab-pane fade">
                    <h3>Partners</h3>
                    <p>A list of active partners with details, locations, and available products, services etc.</p>
                    <p>Partner Table: <?php 
echo Html::a('Here', ['partner/index']);
?>
</p>

                    <ul>
                    <?php 
foreach (Partner::find()->each() as $partner) {
    echo "<li> " . Html::a($partner->name, $partner->url) . "</li>";
}
?>
                    </ul>
                </div>

                <div id="opps" class="tab-pane fade">
                    <h3>Opportunities</h3>
                    <p>A List of validated budget holders with confirmed budget sizes and purchasing priorities.</p>
                    <p>Opportunities Table: <?php 
echo Html::a('Here', ['lead/index']);
?>
</p>

                    <ul>
예제 #12
0
            </div>
            <div class="col-md-3">
                <?php 
echo $form->field($model, 'bill_no')->textInput();
?>
            </div>
            <div class="col-md-2">
                <?php 
echo $form->field($model, 'budget_id')->dropdownList(ArrayHelper::map(Budget::find()->all(), 'id', 'name'), ['id' => 'budget_id', 'prompt' => '--- เลือกข้อมูล ---', 'required' => '']);
?>
            </div>
        </div>
        <div class="row">
            <div class="col-md-3">          
                <?php 
echo $form->field($model, 'partner_id')->dropdownList(ArrayHelper::map(Partner::find()->all(), 'id', 'name'), ['id' => 'partner_id', 'prompt' => '--- เลือกข้อมูล ---', 'required' => '']);
?>
            </div>
            <div class="col-md-2">

            </div>
        </div>
        <table cellpadding="6" cellspacing="1" style="width:100%" border="0" class="table table-bordered">
            <tr>
                <th>#</th>
                <th width="700">รายการวัสดุ</th>
                <th>ราคา/หน่วย</th>
                <th>จำนวน</th>
                <th style="text-align:right">รวม</th>
                <th colspan="2"></th>
예제 #13
0
파일: MailingList.php 프로젝트: vsguts/crm
 public function getPartnersCount()
 {
     return Partner::find()->joinWith('mailingListPartners')->where(['list_id' => $this->id])->count();
 }
예제 #14
0
 public function actionPartner(int $type)
 {
     $this->getView()->title = $type ? '合作伙伴' : '案例分析';
     $partener = Partner::find()->where('type = :type', [':type' => $type])->all();
     return $this->render('partner', array('parteners' => $partener, 'type' => $type));
 }