Skip to content
Snippets Groups Projects
Commit bb253d60 authored by OndraRehounek's avatar OndraRehounek Committed by jan.bednarik
Browse files

district & region: WIP redmine

parent f84ed4c4
Branches
No related tags found
2 merge requests!468Release,!466Feature/redmine on back
......@@ -224,8 +224,6 @@ class StaticProgramBlock(StructBlock):
person = PageChooserBlock(label="Garant", page_type=["district.DistrictPersonPage"])
completion_percentage = IntegerBlock(label="Procento dokončení", required=True)
program_items = ListBlock(ProgramItemBlock())
# program_items = TableBlock(label="Tabulka plnění programu", required=True)
person = PageChooserBlock(label="Garant", page_type=["district.DistrictPersonPage"])
class Meta:
template = "district/blocks/static_program_block.html"
......@@ -238,6 +236,7 @@ class RedmineProgramBlock(StructBlock):
perex = TextBlock(label="Krátký text pod nadpisem", required=True)
person = PageChooserBlock(label="Garant", page_type=["district.DistrictPersonPage"])
redmine_issue = IntegerBlock(label="Číslo Redmine issue", required=True)
completion_percentage = IntegerBlock(label="Procento dokončení", required=False)
class Meta:
template = "district/blocks/redmine_program_block.html"
......
......
......@@ -44,6 +44,7 @@ INSTALLED_APPS = [
"czech_inspirational",
"shared",
"calendar_utils",
"redmine_utils",
"users",
"pirates",
"tuning",
......
......
from django.apps import AppConfig
class RedmineUtilsConfig(AppConfig):
name = "redmine_utils"
from django.core.management.base import BaseCommand
from district.models import DistrictProgramPage
from region.models import RegionProgramPage
from ...utils import get_issue_list, get_issue_overall
class Command(BaseCommand):
def handle(self, *args, **options):
"""
Pro updated_models (DistrictProgramPage, RegionProgramPage) projedu obsah,
zda má v sobě `redmine_program_block` - ten má IntegerBlock `redmine_issue`.
Podle něj pak stahujeme data z Redmine.
"""
updated_models = DistrictProgramPage, RegionProgramPage
self.stdout.write("Updating Redmine issues...")
for model in updated_models:
program_pages = model.objects.all()
for page_content in model.objects.all().values_list("content", flat=True):
for program_block in page_content:
if program_block.block_type == "redmine_program_block":
# block_content_dict = program_block.value
redmine_issue = program_block.value["redmine_issue"]
program_block.value["headline"] = "test"
get_issue_overall(redmine_issue)
get_issue_list(redmine_issue)
self.stdout.write("\nUpdating Redmine issues finished")
from django.db import models
class RedmineIssue(models.Model):
pass
import json
import requests
def get_issue_overall(issue_id):
response = requests.get("https://redmine.pirati.cz/issues/{}.json".format(issue_id))
print(response.text)
def get_issue_list(issue_id):
response = requests.get(
"https://redmine.pirati.cz/issues.json?parent_id={}&sort=id:as".format(issue_id)
)
if response.status_code != 200 or not response.text:
# TODO log
return
data = json.loads(response.text)
print(response)
return data["issues"]
......@@ -224,8 +224,6 @@ class StaticProgramBlock(StructBlock):
person = PageChooserBlock(label="Garant", page_type=["region.RegionPersonPage"])
completion_percentage = IntegerBlock(label="Procento dokončení", required=True)
program_items = ListBlock(ProgramItemBlock())
# program_items = TableBlock(label="Tabulka plnění programu", required=True)
person = PageChooserBlock(label="Garant", page_type=["region.RegionPersonPage"])
class Meta:
template = "region/blocks/static_program_block.html"
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment