コード例 #1
0
ファイル: views.py プロジェクト: adieyal/PMIS
def coordinator(request):
    query = request.POST.get('query')
    if not query:
        return HttpResponse(json.dumps([]), mimetype='application/json')
    project_list = (Project.get(uuid) for uuid in Project.list())
    result = [ p.manager for p in project_list if re.search(query, p.manager, re.IGNORECASE) ]
    return HttpResponse(json.dumps(result), mimetype='application/json')
コード例 #2
0
ファイル: views.py プロジェクト: adieyal/PMIS
def projects(request):
    project_list = (Project.get(uuid) for uuid in Project.list())
    context = {}
    for p in project_list:
        cluster = p.cluster or 'Unknown'
        if context.get(cluster) == None:
            context[cluster] = []
        context[cluster].append({
            'uuid': p._uuid,
            'name': p.name,
            'description': p.description,
            'contract': p.contract
        })

    return TemplateResponse(request, 'entry/list.html', {'projects': context})
コード例 #3
0
ファイル: views.py プロジェクト: adieyal/PMIS
def projects_json(request):
    project_list = (Project.get(uuid) for uuid in Project.list())
    projects = [{
        'uuid': p._uuid,
        'name': p.name,
        'description': p.description,
        'contract': p.contract,
        'cluster': p.cluster,
        'municipality': p.municipality,
        'programme': p.programme,
        'phase': (p.phase or '').title(),
        'year': p.fyear
    } for p in project_list]
    years = set((i['year'] for i in projects))
    result = [{
        'year': year,
        'projects': [p for p in projects if p['year'] == year]
    } for year in years]
    return HttpResponse(json.dumps(projects), mimetype='application/json')
コード例 #4
0
ファイル: seed_indices.py プロジェクト: adieyal/PMIS
    def handle(self, *args, **options):
        base_url = os.getenv('BASE_URL', settings.BASE_URL)

        for c in self.clusters:
            cluster = generate_cluster_dashboard_v2('department-of-%s' % c)
            
            for programme in cluster['programmes']:
                if programme['title']:
                    programme_id = '%s:%s' % (c, slugify(unicode(programme['title'])))

                    body = {
                        'id': 'programme:%s' % programme_id,
                        'title': programme['title'],
                        'url': '/#/projects/%s/%s' % (c, programme['title']),
                        'cluster': cluster['client'],
                        'cluster_id': c,
                    }

                    es.index(index='pmis', doc_type='programme', id=programme_id, body=body)

            for project_id in Project.list():
                if project_id:
                    project = Project.get(project_id, as_json=True)
                    body = {
                        'id': 'project:%s' % project_id,
                        'title': project['description'],
                        'url': '%s/reports/project/%s/latest/' % (base_url, project_id),
                        'cluster': cluster['client'],
                        'cluster_id': c,
                        # 'manager': project.get('manager'),
                        # 'municipality': project.get('municipality'),
                        # 'comments': project.get('comments'),
                        'programme': project.get('programme'),
                        'programme_id': slugify(project.get('programme', u'')),
                    }
                    es.index(index='pmis', doc_type='project', id=project_id, body=body)
コード例 #5
0
ファイル: import_projects.py プロジェクト: adieyal/PMIS
    """
    headings = getHeadingRow(sheet)

    columnsOfInterest = {}
    for fieldName, lambdas in fieldsOfInterest.iteritems():
        for column, cell in enumerate(headings):
            if lambdas[0](cell):
                columnsOfInterest[fieldName] = column
                break

    return columnsOfInterest

projects = []
project_ids = Project.list()
for project_id in project_ids:
    project = Project.get(project_id)
    projects.append(project)

print '%s projects found' % len(projects)

def projectExists(project):

    for p in projects:
        if (project['cluster'] == p.cluster and
            project.get('name') == p.name and
            project['district'] == p.district and
            project['municipality'] == p.municipality):
            return True
    return False

def insertProject(details):