Exemplo n.º 1
0
    def zaman_cizelgesi(self):
        """
        .. code-block:: python
            # response:
            {
                'is_paketi_takvimi': {
                    'tarih': [{
                        'yil': int,
                        'ay': int
                        },],
                    'is_paketleri':[
                            {'ad': string,
                             'key': string,
                             'baslama_tarihi': string,
                             'bitis_tarihi': string,
                             'is': [{'key': string,
                                     'ad': string
                                     'baslama_tarihi': string,
                                     'bitis_tarihi': string},]
                             'actions': [ # per row actions
                                {
                                  "cmd": "add_edit_form",
                                  "name": "Düzenle",
                                  "show_as": "button",
                                  "mode": "normal"
                                },
                                {
                                  "cmd": "delete",
                                  "name": "Sil",
                                  "show_as": "button",
                                  "mode": "normal"
                            }
                    ]
                }
            }
        """
        if 'is_paketi_yok_msg' in self.current.task_data:
            self.current.msg_box(title=_(u'Mevcut İş Paketi Bulunamadı!'),
                                 msg=_(u"İş paketi silmek veya düzenlemek istiyorsanız, "
                                       u"en az 1 tane iş paketinizin olması lazım."),
                                 typ='warning')
            del self.current.task_data['is_paketi_yok_msg']

        item = {
            'options': {
                'maxHeight': 350,
                'viewScale': "month",
                'columnWidth': 80
            },
            'data': []
        }

        is_paketleri = BAPIsPaketi.objects.filter(proje_id=self.current.task_data.get(
            'bap_proje_id', None))
        for is_paketi in is_paketleri:
            item['data'].append(
                {
                    'name': is_paketi.ad
                })
            for bap_is in is_paketi.Isler:
                item['data'].append(
                    {
                        'parent': is_paketi.ad,
                        'name': bap_is.isler.ad,
                        'tooltips': True,
                        'tasks': [
                            {
                                'id': bap_is.isler.key,
                                'name': bap_is.isler.ad,
                                'color': '#a61229',
                                'from': bap_is.isler.baslama_tarihi.strftime(
                                    DATE_TIME_FORMAT),
                                'to': bap_is.isler.bitis_tarihi.strftime(DATE_TIME_FORMAT)
                            }
                        ]
                    }
                )
        self.current.output['gantt_chart'] = item

        form = JsonForm(title=_(u"Bap İş Paketi Takvimi"))
        form.yeni_paket = fields.Button(_(u"Yeni İş Paketi Ekle"), cmd='add_edit_form')
        form.duzenle = fields.Button(_(u"İş Paketini Düzenle"), cmd='duzenle_veya_sil')
        form.sil = fields.Button(_(u"İş Paketini Sil"), cmd='duzenle_veya_sil')
        form.bitir = fields.Button(_(u"Tamam"), cmd='bitir')
        self.form_out(form)
        error_msg = self.current.task_data.get('integrity_error_msg', None)
        if error_msg:
            self.current.output['msgbox'] = {
                'type': 'info', "title": _(u'İş Paketi Ekleme Başarısız'),
                "msg": error_msg
            }
            del self.current.task_data['integrity_error_msg']