コード例 #1
0
ファイル: Kurs.php プロジェクト: agarb7/mybriop
 public static function doesHaveProgram($kurs_id)
 {
     /**
      * @var Kurs $kurs
      */
     $kurs = Kurs::find()->joinWith('razdelyKursaRel')->joinWith('kimRel')->joinWith('umkRel')->joinWith('kontroliruyushihKursaRel')->joinWith('temyDiplomnihRabotRel')->where(['kurs.id' => $kurs_id])->one();
     if ($kurs->annotaciya != null or $kurs->aktualnost != null or $kurs->cel != null or $kurs->zadachi != null or $kurs->zadachi != null or $kurs->planiruemyeRezultaty != null or $kurs->formaItogovojAttestacii != null or $kurs->harakteristikaNovojKvalifikacii != null or $kurs->trebovaniya_k_urovnyu_podgotovki != null or $kurs->formaObucheniya != null or $kurs->informacionnyeUsloviya != null or $kurs->kadrovyeUsloviya != null or $kurs->uchebnometodicheskieUsloviya != null or $kurs->tehnicheskieUsloviya != null or $kurs->itogovayaAttestaciya != null or $kurs->rezhimZanyatij != null or $kurs->spisokLiteratury != null or $kurs->chasyItogovojAttestacii != null or $kurs->opisanieItogovojAttestacii != null or $kurs->nedelyaItogovojAttestacii != null or $kurs->harakteristikaNovojKvalifikacii != null or $kurs->sostaviteli != null or $kurs->recenzenti != null or $kurs->itogovayaAttestaciyaTekst != null or count($kurs->razdelyKursaRel) > 0 or count($kurs->kimRel) > 0 or count($kurs->umkRel) > 0 or count($kurs->kontroliruyushihKursaRel) > 0 or count($kurs->temyDiplomnihRabotRel) > 0) {
         return true;
     } else {
         return false;
     }
 }
コード例 #2
0
 public function actionCopyProgram()
 {
     Yii::$app->response->format = Response::FORMAT_JSON;
     $from = Yii::$app->request->post('from');
     $to = Yii::$app->request->post('to');
     $response = new JsResponse();
     $transaction = \Yii::$app->db->beginTransaction();
     try {
         if (Kurs::doesHaveProgram($to)) {
             Kurs::deleteProgram($to);
         }
         /**
          * @var Kurs $from_kurs
          * @var Kurs $to_kurs
          */
         //$from_kurs = Kurs::findOne($from);
         $from_kurs = Kurs::find()->joinWith('kimRel')->joinWith('umkRel')->joinWith('kontroliruyushihKursaRel')->joinWith('temyDiplomnihRabotRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.temyRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.kimRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.umkRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.kontroliruyushihPodrazdelaKursaRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.temyRel.kimRel')->joinWith('razdelyKursaRel.podrazdelyKursaRel.temyRel.umkRel')->where(['kurs.id' => $from])->one();
         //kurs
         $to_kurs = Kurs::findOne($to);
         $to_kurs->annotaciya = $from_kurs->annotaciya;
         $to_kurs->aktualnost = $from_kurs->aktualnost;
         $to_kurs->cel = $from_kurs->cel;
         $to_kurs->zadachi = $from_kurs->zadachi;
         $to_kurs->zadachi = $from_kurs->zadachi;
         $to_kurs->planiruemyeRezultaty = $from_kurs->planiruemyeRezultaty;
         $to_kurs->formaItogovojAttestacii = $from_kurs->formaItogovojAttestacii;
         $to_kurs->harakteristikaNovojKvalifikacii = $from_kurs->harakteristikaNovojKvalifikacii;
         $to_kurs->trebovaniya_k_urovnyu_podgotovki = $from_kurs->trebovaniya_k_urovnyu_podgotovki;
         $to_kurs->formaObucheniya = $from_kurs->formaObucheniya;
         $to_kurs->informacionnyeUsloviya = $from_kurs->informacionnyeUsloviya;
         $to_kurs->kadrovyeUsloviya = $from_kurs->kadrovyeUsloviya;
         $to_kurs->uchebnometodicheskieUsloviya = $from_kurs->uchebnometodicheskieUsloviya;
         $to_kurs->tehnicheskieUsloviya = $from_kurs->tehnicheskieUsloviya;
         $to_kurs->itogovayaAttestaciya = $from_kurs->itogovayaAttestaciya;
         $to_kurs->rezhimZanyatij = $from_kurs->rezhimZanyatij;
         $to_kurs->spisokLiteratury = $from_kurs->spisokLiteratury;
         $to_kurs->chasyItogovojAttestacii = $from_kurs->chasyItogovojAttestacii;
         $to_kurs->opisanieItogovojAttestacii = $from_kurs->opisanieItogovojAttestacii;
         $to_kurs->nedelyaItogovojAttestacii = $from_kurs->nedelyaItogovojAttestacii;
         $to_kurs->harakteristikaNovojKvalifikacii = $from_kurs->harakteristikaNovojKvalifikacii;
         $to_kurs->sostaviteli = $from_kurs->sostaviteli;
         $to_kurs->recenzenti = $from_kurs->recenzenti;
         $to_kurs->itogovayaAttestaciyaTekst = $from_kurs->itogovayaAttestaciyaTekst;
         $to_kurs->save();
         //temy_diplomnih_rabot
         foreach ($from_kurs->temyDiplomnihRabotRel as $item) {
             $new_tema_diplomnoj_raboty = new TemaDiplomnojRabotyKursa();
             $new_tema_diplomnoj_raboty->kurs = $to_kurs->id;
             $new_tema_diplomnoj_raboty->nazvanie = $item->nazvanie;
             $new_tema_diplomnoj_raboty->save();
         }
         //kim_kurs
         foreach ($from_kurs->kimRel as $item) {
             $new_kim_kurs = new KimKursa();
             $new_kim_kurs->kim = $item->id;
             $new_kim_kurs->kurs = $to_kurs->id;
             $new_kim_kurs->save();
         }
         //umk_kurs
         foreach ($from_kurs->umkRel as $item) {
             $new_umk_kurs = new UmkKursa();
             $new_umk_kurs->umk = $item->id;
             $new_umk_kurs->kurs = $to_kurs->id;
             $new_umk_kurs->save();
         }
         //kontroliruyushie_kursa
         foreach ($from_kurs->kontroliruyushihKursaRel as $item) {
             $new_kontroliruyshij_kursa = new KontroliruyuschijKursa();
             $new_kontroliruyshij_kursa->kontroliruyuschijFizLico = $item->kontroliruyuschijFizLico;
             $new_kontroliruyshij_kursa->kurs = $to_kurs->id;
             $new_kontroliruyshij_kursa->kontroliruyuschijVakansiya = $item->kontroliruyuschijVakansiya;
             $new_kontroliruyshij_kursa->save();
         }
         //razdels
         foreach ($from_kurs->razdelyKursaRel as $razdel) {
             /**
              * @var RazdelKursa $razdel
              */
             $new_razdel = new RazdelKursa();
             $new_razdel->kurs = $to_kurs->id;
             $new_razdel->nazvanie = $razdel->nazvanie;
             $new_razdel->nomer = $razdel->nomer;
             $new_razdel->tip = $razdel->tip;
             $new_razdel->save();
             //podrazdels
             foreach ($razdel->podrazdelyKursaRel as $podrazdel) {
                 /**
                  * @var PodrazdelKursa $podrazdel
                  */
                 $new_podrazdel = new PodrazdelKursa();
                 $new_podrazdel->razdel = $new_razdel->id;
                 $new_podrazdel->forma_kontrolya = $podrazdel->forma_kontrolya;
                 $new_podrazdel->rukovoditel = $podrazdel->rukovoditel;
                 $new_podrazdel->nomer = $podrazdel->nomer;
                 $new_podrazdel->nazvanie = $podrazdel->nazvanie;
                 $new_podrazdel->raschitano_chasov_lekcyj = $podrazdel->raschitano_chasov_lekcyj;
                 $new_podrazdel->raschitano_chasov_praktik = $podrazdel->raschitano_chasov_praktik;
                 $new_podrazdel->raschitano_chasov_srs = $podrazdel->raschitano_chasov_srs;
                 $new_podrazdel->chasy_kontrolya = $podrazdel->chasy_kontrolya;
                 $new_podrazdel->aktualnost = $podrazdel->aktualnost;
                 $new_podrazdel->cel = $podrazdel->cel;
                 $new_podrazdel->zadachi = $podrazdel->zadachi;
                 $new_podrazdel->planiruemye_rezultaty = $podrazdel->planiruemye_rezultaty;
                 $new_podrazdel->mesto_discipliny_v_strukture_programmy = $podrazdel->mesto_discipliny_v_strukture_programmy;
                 $new_podrazdel->informacionnye_usloviya = $podrazdel->informacionnye_usloviya;
                 $new_podrazdel->uchebnometodicheskie_usloviya = $podrazdel->uchebnometodicheskie_usloviya;
                 $new_podrazdel->kadrovye_usloviya = $podrazdel->kadrovye_usloviya;
                 $new_podrazdel->materialnotehnicheskie_usloviya = $podrazdel->materialnotehnicheskie_usloviya;
                 $new_podrazdel->literatura = $podrazdel->literatura;
                 $new_podrazdel->status = $podrazdel->status;
                 $new_podrazdel->nedelya_nachalo = $podrazdel->nedelya_nachalo;
                 $new_podrazdel->nedelya_konec = $podrazdel->nedelya_konec;
                 $new_podrazdel->rukovoditel_vakansiya = $podrazdel->rukovoditel_vakansiya;
                 $new_podrazdel->save();
                 //podrazdel_kim
                 foreach ($podrazdel->kimRel as $kim) {
                     $new_podrazdel_kim = new KimPodrazdelaKursa();
                     $new_podrazdel_kim->podrazdelKursa = $new_podrazdel->id;
                     $new_podrazdel_kim->kim = $kim->id;
                     $new_podrazdel_kim->save();
                 }
                 //podrazdel_umk
                 foreach ($podrazdel->umkRel as $umk) {
                     $new_podrazdel_umk = new UmkPodrazdelaKursa();
                     $new_podrazdel_umk->podrazdelKursa = $new_podrazdel->id;
                     $new_podrazdel_umk->umk = $umk->id;
                     $new_podrazdel_umk->save();
                 }
                 //kontroliruyushie_podrazdela_kursa
                 foreach ($podrazdel->kontroliruyushihPodrazdelaKursaRel as $item) {
                     $new_kontroliruyshij_podrazdela = new KontroliruyuschijPodrazdelaKursa();
                     $new_kontroliruyshij_podrazdela->kontroliruyuschijFizLico = $item->kontroliruyuschijFizLico;
                     $new_kontroliruyshij_podrazdela->podrazdelKursa = $new_podrazdel->id;
                     $new_kontroliruyshij_podrazdela->kontroliruyuschijVakansiya = $item->kontroliruyuschijVakansiya;
                     $new_kontroliruyshij_podrazdela->save();
                 }
                 //podrazdel_temy
                 foreach ($podrazdel->temyRel as $tema) {
                     /**
                      * @var Tema $tema
                      */
                     $new_tema = new Tema();
                     $new_tema->podrazdel = $new_podrazdel->id;
                     $new_tema->tip_raboty = $tema->tip_raboty;
                     $new_tema->forma_kontrolya = $tema->forma_kontrolya;
                     $new_tema->prepodavatel_fiz_lico = $tema->prepodavatel_fiz_lico;
                     $new_tema->nomer = $tema->nomer;
                     $new_tema->nazvanie = $tema->nazvanie;
                     $new_tema->soderzhanie = $tema->soderzhanie;
                     $new_tema->chasy = $tema->chasy;
                     $new_tema->nedelya = $tema->nedelya;
                     $new_tema->prepodavatel_vakansiya = $tema->prepodavatel_vakansiya;
                     $new_tema->save();
                     //tema_kim
                     foreach ($tema->kimRel as $kim) {
                         $new_tema_kim = new KimTemy();
                         $new_tema_kim->tema = $new_tema->id;
                         $new_tema_kim->kim = $kim->id;
                         $new_tema_kim->save();
                     }
                     //tema_umk
                     foreach ($tema->umkRel as $umk) {
                         $new_tema_umk = new UmkTemy();
                         $new_tema_umk->tema = $new_tema->id;
                         $new_tema_umk->umk = $umk->id;
                         $new_tema_umk->save();
                     }
                 }
             }
         }
         $transaction->commit();
     } catch (Exception $e) {
         $transaction->rollBack();
         $response->type = JsResponse::ERROR;
         $response->msg = $e->getMessage();
     }
     return $response;
 }
コード例 #3
0
ファイル: spisok.php プロジェクト: tsyrya/mybriop
}], ['format' => 'raw', 'value' => function ($kurs) {
    /* @var $kurs KursExtended */
    $editLinkClass = '';
    if ($kurs->statusProgrammy == StatusProgrammyKursa::ZAVERSHENA) {
        $editLinkClass = ' hidden';
    }
    $result = Html::a('Редактор', ['/kurs/edit', 'id' => $kurs->id], ['class' => 'btn btn-primary' . $editLinkClass]) . Html::tag('p', '', ['class' => $editLinkClass]) . Html::button('Сделать копию', ['class' => 'btn btn-primary', 'ng-click' => 'main.copyProgram(' . $kurs->id . ')']) . Html::tag('p') . Html::button('Удалить программу', ['class' => 'btn btn-primary', 'ng-click' => 'main.deleteProgram(' . $kurs->id . ')']);
    /* @var $kurs2 Kurs */
    $kurs2 = Kurs::findOne($kurs->id);
    if ($kurs2 && $kurs2->allowsZanyatiyaChange()) {
        $raspBtn = Html::a('Расписание', ['/upravlenie-kursami/raspisanie/zanyatie', 'kurs' => $kurs->id], ['class' => 'btn btn-primary']);
        $result .= Html::tag('p') . $raspBtn;
    }
    return $result;
}]]]);
$years = ArrayHelper::map(\app\entities\Kurs::find()->select(['EXTRACT(YEAR FROM plan_prospekt_god) as year'])->distinct()->orderBy('year')->where(['rukovoditel' => Yii::$app->user->fizLico->id])->asArray()->all(), 'year', 'year');
?>

<div id="copying-form" class="copying-form" ng-controller="CopyingController as copying" ng-show="copying.isShow">
    <div class="form-group">
        <div class="inline-block">
            <label for="plan_prospekt_years">Выберите год</label>
            <?php 
echo Html::dropDownList('plan_prospekt_years', null, $years, ['id' => 'plan_prospekt_years', 'class' => 'form-control', 'ng-model' => 'copying.year']);
?>
        </div>
<!--        <button ng-click="copying.loadKursy()" class="btn btn-primary inline-block vbottom">Загрузить доступные программы</button>-->
        <h4 ng-show="copying.kursy[copying.year].length>0">Выберите курс из списка</h4>
        <div id="plan_prospekts" ng-repeat="kurs in copying.kursy[copying.year]">
            <div class="kurs" ng-class="kurs.id == copying.to ? 'chosen_kurs' : ''" ng-click="copying.chooseKurs(kurs.id)">
                {{$index+1}}. {{kurs.nazvanie}}
コード例 #4
0
ファイル: KursExtended.php プロジェクト: tsyrya/mybriop
 /**
  * @inheritdoc
  */
 public static function find()
 {
     $cols = ['{{kurs}}.*', 'zapisanoSlushatelej' => 'coalesce(count({{slushatel}}.[[id]]),0)', 'isUserZapisan' => self::userZapisanCond(), 'userStatusKursa' => 'kurs_tek_polzovatelya.status'];
     return parent::find()->select($cols)->joinWith(['slushateliRel' => function ($q) {
         $q->from(['slushatel' => 'fiz_lico']);
     }])->joinWith(['kursyFizLicaRel' => function ($q) {
         $q->from(['kurs_tek_polzovatelya' => 'kurs_fiz_lica'])->onCondition(['kurs_tek_polzovatelya.fiz_lico' => Val::of(Yii::$app->user->fizLico, 'id')]);
     }])->groupBy(['kurs.id', 'kurs_tek_polzovatelya.id'])->with('rukovoditelRel', 'kategoriiSlushatelejRel');
 }