コード例 #1
0
ファイル: data.py プロジェクト: timur-glushan/tt
def test_data_delete():
  from models.account import Account
  from models.project import Project
  from models.report import Report
  from models.variable import Variable
  
  roles = {
    'administrator':[], 
    'privileged_manager':[], 
    'manager':[], 
    'privileged_member':[], 
    'member':[], 
  }
  rolesVariable = Variable.query.filter_by(name='roles', scope='permissions').first()
  roles.update(rolesVariable.value or {})
  
  for account in [account for account in Account.all() if account.id.startswith('test.')]:
    for role_id, members in roles.items():
      if account.id in members:
        roles[role_id].remove(account.id)
    Account.delete(account.id)
    flash('account deleted: '+str(account))
  
  rolesVariable.value = roles
  rolesVariable.save()
  
  for project in [project for project in Project.all() if project.id.startswith('TEST/')]:
    Project.delete(project.id)
    flash('project deleted: '+str(project))
  
  return redirect(url_for('test_data_index'))
コード例 #2
0
ファイル: data.py プロジェクト: timur-glushan/tt
def test_data_projects():
  from models.account import Account
  from models.project import Project
  
  title = 'Testing | Data | Listed per-account-project membership'
  
  employees = [account for account in Account.all() if account.id.startswith('test.')]
  projects = [project for project in Project.all() if project.id.startswith('TEST/')]
  
  data = _test_data_menu()
  data = data + '<table class="table" width="100%">'
  roles = g._var(name='roles', scope='permissions', default={}).keys()
  
  data = data + '<tr>'
  data = data + '<th>&nbsp;</th>'
  for project in projects:
    data = data + '<th>'+project.id+'</th>'
  data = data + '</tr>'
  
  for employee in employees:
    data = data + '<tr>'
    data = data + '<th>'+employee.id+'</th>'
    for project in projects:
      #data = data + (project.hasMember(employee.id) and '<td class="alert alert-success">'+project.members.get(employee.id, '---')+'</td>' or '<td class="alert alert-danger">no</td>')
      details = {}
      details['class'] = project.hasMember(employee.id) and 'success' or 'danger'
      details['label'] = project.hasMember(employee.id) and project.members.get(employee.id, '?') or '-'
      details['label'] = details['label'] + '<div class="pull-right">'
      
      details['label'] = details['label'] + (app.access('project', action='read', project=project, account=employee) and '<i class="icon icon-eye-open text-info"></i> | ' or '<i style="opacity:0.2" class="icon icon-eye-open muted"></i> | ')
      details['label'] = details['label'] + (app.access('project', action='update', project=project, account=employee) and '<i class="icon icon-edit text-info"></i> | ' or '<i style="opacity:0.2" class="icon icon-edit muted"></i> | ')
      details['label'] = details['label'] + (app.access('project', action='delete', project=project, account=employee) and '<i class="icon icon-trash text-info"></i>' or '<i style="opacity:0.2" class="icon icon-trash muted"></i>')
      
      details['label'] = details['label'] + '</div>'
      
      data = data + '<td class="alert alert-'+details['class']+'">'+details['label']+'</td>'
    data = data + '</tr>'
  
  data = data + '</table>'
  data = Markup(data)
  
  return render_template('test/index.html', title=title, data=data)
コード例 #3
0
ファイル: project.py プロジェクト: starlock/teamstarter
def list():
    projects = Project.all()
    return json.dumps([ project.to_dict() for project in projects ])
コード例 #4
0
 def get(self):
     projects = Project.all()
     self.response.out.write(simplejson.dumps([m.to_dict()
         for m in projects]))