Ignore:
Timestamp:
07/05/10 12:56:53 (23 months ago)
Author:
dart
Message:

LoReality?:
o Add squadrons, pilots.
o Lot of fix
o Some cosmetics

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/loreality/loreality/controllers/mission.py

    r2100 r2104  
    2222 
    2323class MissionController(BaseController): 
     24    #-------------------------------------------------------------- 
     25    def _get_pilots(self, already_pilots): 
     26        pilots = meta.Session.query(model.Pilot).all() 
     27        names = [] 
     28        for p in pilots: 
     29            if p not in already_pilots: 
     30                names.append( p.name ) 
     31        return names 
    2432 
     33    #-------------------------------------------------------------- 
    2534    def view(self, id, values=None, errors=None ): 
    2635        if id is None: 
     
    3443        c.heading = mission.name 
    3544        c.mission = mission 
     45        c.available_pilots = self._get_pilots(mission.pilots) 
    3646 
    3747        html = render('/derived/page/mission.html') 
    3848        return  htmlfill.render(html, defaults=values, errors=errors) 
    3949 
     50    #-------------------------------------------------------------- 
    4051    def process(self, id=None): 
    4152        action = request.params.getone('action') 
     
    6778        else: 
    6879            raise Exception('Invalid action %s'%action) 
     80    #-------------------------------------------------------------- 
    6981    @authorize(h.auth.is_creator) 
    7082    def edit(self, id=None, values=None, errors=None  ): 
     
    7991        c.heading = "Edit %s"%mission.name 
    8092        c.mission = mission 
     93        c.available_pilots = self._get_pilots(mission.pilots) 
    8194 
    8295        if not values: values = {} 
     
    8598        html = render('/derived/page/mission_edit.html') 
    8699        return  htmlfill.render(html, defaults=values, errors=errors) 
     100    #-------------------------------------------------------------- 
    87101    @authorize(h.auth.is_creator) 
    88102    def addpilot(self, id): 
    89103        values = dict(request.params) 
    90         pilotid = values["pilotid"] 
     104        pilotid = values["Pilot"] 
    91105        if id is None: 
    92106            abort(404) 
     
    99113            abort(404) 
    100114        pilot_q = meta.Session.query(model.Pilot) 
    101         pilot = pilot_q.filter_by(id=uuid.UUID(pilotid)).first() 
     115        pilot = pilot_q.filter_by(name=pilotid).first() 
    102116        if pilot is None: 
    103117            abort(404) 
    104118        
    105119        #- del now 
    106         mission.pilots.add( pilot ) 
     120        mission.pilots.append( pilot ) 
    107121        meta.Session.commit() 
    108122        return self.edit( id ) 
     123    #-------------------------------------------------------------- 
    109124    @authorize(h.auth.is_creator) 
    110125    def removepilot(self, id): 
Note: See TracChangeset for help on using the changeset viewer.