Esempio n. 1
0
def get_mail_barcode(barcode):
    db = MailService.findDatabaseForBarcode(app.dbs, barcode)
    mail = MailService.selectByBarcode(db, barcode)
    state = mail.statehistory
    ua_sender = UserAddressService.selectById(app.dbs['users'],
                                              mail.idsenderuseraddress)
    ua_receiver = UserAddressService.selectById(app.dbs['users'],
                                                mail.idreceiveruseraddress)
    m = {
        'barcode': mail.barcode,
        'sender': ua_sender.user.name,
        'receiver': ua_receiver.user.name,
        'date': str(state[0].date),
        'history': [
            {'status': s.idstate, 'text': str(s.date)} for s in state
        ]

    }
    for d in mail.statehistory:
        print d.date
    return m
Esempio n. 2
0
def user_mails_sent(id):
    u = UserService.selectByStudentnumber(app.dbs['users'], id)
    dep = u.iddepartment
    addresses = UserAddressService.listByUser(app.dbs['users'], u.iduserthu)
    db = app.dbs[codes.codes['0{}'.format(dep)]]
    j = []
    mails = MailService.selectBySenderUserAdresses(
        db,
        [a.iduseraddress for a in addresses]
    )
    for m in mails:
        j.append(get_mail_barcode(m.barcode))
    response.content_type = 'text/json; charset=utf-8'
    return j
Esempio n. 3
0
def populate_user_db(user_database, ids):
    email_shift = 0
    ids['address'] = {}
    ids['department'] = {}
    ids['user'] = {}
    ids['useraddress'] = []
    for adress in adresses:
        ids['address'][adress] = AddressService.add(user_database, adress)
    for department in departments:
        ids['department'][department] = DepartmentService.add(user_database, department)
        for username in chinese_names:
            mail = "w_" + str(email_shift) + "@mail.tsinghua.edu.cn"
            ids['user'][username] = UserService.add(user_database, email_shift, username.decode('utf8'), mail, ids['department'][department]) 
            email_shift = email_shift + 1
            for _ in range(random.randint(1, 3)):
                addr_num = random.randint(0, len(adresses) - 1)
                ids['useraddress'].append(UserAddressService.add(user_database, ids['address'][adresses[addr_num]], ids['user'][username]))
Esempio n. 4
0
db_d1 = Database('mailsystem_d1')
databases = { 'users': db_users,
              'D1': db_d1 }

codes.codes = { "01": "D1" }
codes.rev_codes = { "D1": "01" }


a1 = AddressService.add(db_users, "A1")
a2 = AddressService.add(db_users, "A2")
d1 = DepartmentService.add(db_users, "D1")
s1 = StateService.add(db_users, "S1")
s2 = StateService.add(db_users, "S2")
s3 = StateService.add(db_users, "S3")
u1 = UserService.add(db_users, 2013400576, "U1", "[email protected]", d1)
ua1 = UserAddressService.add(db_users, a1, u1)
ua2 = UserAddressService.add(db_users, a2, u1)
bc = MailService.add(databases, s1, ua1, ua2)

las = UserAddressService.listByUser(db_users, u1)

selectedMail = MailService.selectByBarcode(databases['D1'], bc)

print las

print a1
print d1
print s1
print u1
print ua1
print bc
Esempio n. 5
0
 def __findDatabaseForUserAddress(databases, iduseraddress):
     ua = UserAddressService.selectById(databases["users"], iduseraddress)
     if ua is None:
         return None
     return (ua.user.department.name, databases[ua.user.department.name])