update
svn: r5869
This commit is contained in:
		@@ -55,7 +55,6 @@ import RelLib
 | 
			
		||||
import DateHandler
 | 
			
		||||
import NameDisplay
 | 
			
		||||
import NameEdit
 | 
			
		||||
import NoteEdit
 | 
			
		||||
import DisplayState
 | 
			
		||||
import GrampsDisplay
 | 
			
		||||
from DisplayTabs import *
 | 
			
		||||
@@ -94,12 +93,11 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
        self.dd = DateHandler.displayer
 | 
			
		||||
        self.nd = NameDisplay.displayer
 | 
			
		||||
 | 
			
		||||
        if person:
 | 
			
		||||
        self.orig_handle = person.get_handle()
 | 
			
		||||
        else:
 | 
			
		||||
            self.orig_handle = ""
 | 
			
		||||
        if self.orig_handle:
 | 
			
		||||
            self.person = state.db.get_person_from_handle(self.orig_handle)
 | 
			
		||||
            
 | 
			
		||||
        DisplayState.ManagedWindow.__init__(self, uistate, track, person)
 | 
			
		||||
        DisplayState.ManagedWindow.__init__(self, uistate, track, self.person)
 | 
			
		||||
 | 
			
		||||
        if self.already_exist:
 | 
			
		||||
            return
 | 
			
		||||
@@ -108,19 +106,10 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
        self.uistate = uistate
 | 
			
		||||
        self.retval = const.UPDATE_PERSON
 | 
			
		||||
        
 | 
			
		||||
        # UGLY HACK to refresh person object from handle if that exists
 | 
			
		||||
        # done to ensure that the person object is not stale, as it could
 | 
			
		||||
        # have been changed by something external (merge, tool, etc).
 | 
			
		||||
        if self.orig_handle:
 | 
			
		||||
            person = self.dbstate.db.get_person_from_handle(self.orig_handle)
 | 
			
		||||
        self.person = person
 | 
			
		||||
        self.orig_surname = self.person.get_primary_name().get_group_name()
 | 
			
		||||
        self.db = self.dbstate.db
 | 
			
		||||
        self.callback = callback
 | 
			
		||||
        self.path = self.db.get_save_path()
 | 
			
		||||
        self.not_loaded = True
 | 
			
		||||
#        self.lds_not_loaded = True
 | 
			
		||||
        self.lists_changed = False
 | 
			
		||||
        self.pdmap = {}
 | 
			
		||||
        self.add_places = []
 | 
			
		||||
        self.should_guess_gender = (not person.get_gramps_id() and
 | 
			
		||||
@@ -567,15 +556,7 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
            except:
 | 
			
		||||
                self.person_photo.hide()
 | 
			
		||||
 | 
			
		||||
    def on_apply_person_clicked(self,obj):
 | 
			
		||||
        print self.event_list.changed
 | 
			
		||||
        print self.name_list.changed
 | 
			
		||||
        print self.srcref_list.changed
 | 
			
		||||
        print self.attr_list.changed
 | 
			
		||||
        print self.addr_list.changed
 | 
			
		||||
        print self.web_list.changed
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    def _check_for_unknown_gender(self):
 | 
			
		||||
        if self.gender.get_active() == RelLib.Person.UNKNOWN:
 | 
			
		||||
            dialog = QuestionDialog2(
 | 
			
		||||
                _("Unknown gender specified"),
 | 
			
		||||
@@ -586,20 +567,11 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
                _("Continue saving"), _("Return to window"),
 | 
			
		||||
                self.window)
 | 
			
		||||
            if not dialog.run():
 | 
			
		||||
                return
 | 
			
		||||
                return True
 | 
			
		||||
        return False
 | 
			
		||||
        
 | 
			
		||||
        self.window.hide()
 | 
			
		||||
        trans = self.db.transaction_begin()
 | 
			
		||||
 | 
			
		||||
        surname = unicode(self.surname.get_text())
 | 
			
		||||
        suffix = unicode(self.suffix.get_text())
 | 
			
		||||
        prefix = unicode(self.prefix.get_text())
 | 
			
		||||
        ntype = self.ntype_selector.get_values()
 | 
			
		||||
        given = unicode(self.given.get_text())
 | 
			
		||||
        title = unicode(self.title.get_text())
 | 
			
		||||
    def _check_and_update_id(self):
 | 
			
		||||
        idval = unicode(self.gid.get_text())
 | 
			
		||||
 | 
			
		||||
        name = self.pname
 | 
			
		||||
        if idval != self.person.get_gramps_id():
 | 
			
		||||
            person = self.db.get_person_from_gramps_id(idval)
 | 
			
		||||
            if not person:
 | 
			
		||||
@@ -613,6 +585,16 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
                    'person' : n }
 | 
			
		||||
                WarningDialog(msg1,msg2)
 | 
			
		||||
 | 
			
		||||
    def _update_primary_name(self):
 | 
			
		||||
        surname = unicode(self.surname.get_text())
 | 
			
		||||
        suffix = unicode(self.suffix.get_text())
 | 
			
		||||
        prefix = unicode(self.prefix.get_text())
 | 
			
		||||
        ntype = self.ntype_selector.get_values()
 | 
			
		||||
        given = unicode(self.given.get_text())
 | 
			
		||||
        title = unicode(self.title.get_text())
 | 
			
		||||
        
 | 
			
		||||
        name = self.pname
 | 
			
		||||
        
 | 
			
		||||
        if suffix != name.get_suffix():
 | 
			
		||||
            name.set_suffix(suffix)
 | 
			
		||||
 | 
			
		||||
@@ -637,8 +619,8 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
        if name != self.person.get_primary_name():
 | 
			
		||||
            self.person.set_primary_name(name)
 | 
			
		||||
 | 
			
		||||
        self.build_pdmap()
 | 
			
		||||
 | 
			
		||||
    def _update_family_ids(self, trans):
 | 
			
		||||
        # Update each of the families child lists to reflect any
 | 
			
		||||
        # change in ordering due to the new birth date
 | 
			
		||||
        family = self.person.get_main_parents_family_handle()
 | 
			
		||||
@@ -697,6 +679,26 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
                    "the person's marriages.")
 | 
			
		||||
            ErrorDialog(msg)
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
    def on_apply_person_clicked(self,obj):
 | 
			
		||||
        """
 | 
			
		||||
        Save the data.
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        if self._check_for_unknown_gender():
 | 
			
		||||
            return
 | 
			
		||||
        
 | 
			
		||||
        self.window.hide()
 | 
			
		||||
 | 
			
		||||
        trans = self.db.transaction_begin()
 | 
			
		||||
 | 
			
		||||
        self._check_and_update_id()
 | 
			
		||||
        self._update_primary_name()
 | 
			
		||||
        
 | 
			
		||||
        self.build_pdmap()
 | 
			
		||||
 | 
			
		||||
        self._update_family_ids(trans)
 | 
			
		||||
 | 
			
		||||
        self.person.set_marker(self.marker_type_selector.get_values())
 | 
			
		||||
        self.person.set_privacy(self.private.get_active())
 | 
			
		||||
 | 
			
		||||
@@ -714,8 +716,7 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
#             if not self.lds_sealing.are_equal(lds_ord):
 | 
			
		||||
#                 self.person.set_lds_sealing(self.lds_sealing)
 | 
			
		||||
 | 
			
		||||
        self.person.set_source_reference_list(self.srcreflist)
 | 
			
		||||
        self.update_lists()
 | 
			
		||||
#        self.person.set_source_reference_list(self.srcreflist)
 | 
			
		||||
 | 
			
		||||
        if not self.person.get_handle():
 | 
			
		||||
            self.db.add_person(self.person, trans)
 | 
			
		||||
@@ -726,9 +727,9 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
 | 
			
		||||
        n = self.nd.display(self.person)
 | 
			
		||||
 | 
			
		||||
        print "title",self.person.primary_name.get_title()
 | 
			
		||||
 | 
			
		||||
        self.db.transaction_commit(trans,_("Edit Person (%s)") % n)
 | 
			
		||||
        if self.callback:
 | 
			
		||||
            self.callback(self,self.retval)
 | 
			
		||||
        self.close()
 | 
			
		||||
 | 
			
		||||
    def get_place(self,field,makenew=0):
 | 
			
		||||
@@ -775,7 +776,6 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
 | 
			
		||||
#     def update_ldsbap_list(self,list):
 | 
			
		||||
#         self.lds_baptism.set_source_reference_list(list)
 | 
			
		||||
#         self.lists_changed = True
 | 
			
		||||
        
 | 
			
		||||
#     def on_ldsbap_note_clicked(self,obj):
 | 
			
		||||
#         NoteEdit.NoteEditor(self.lds_baptism,self,self.window,
 | 
			
		||||
@@ -788,7 +788,6 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
 | 
			
		||||
#     def set_ldsendow_list(self,list):
 | 
			
		||||
#         self.lds_endowment.set_source_reference_list(list)
 | 
			
		||||
#         self.lists_changed = True
 | 
			
		||||
 | 
			
		||||
#     def on_ldsendow_note_clicked(self,obj):
 | 
			
		||||
#         NoteEdit.NoteEditor(self.lds_endowment,self,self.window,
 | 
			
		||||
@@ -801,7 +800,6 @@ class EditPerson(DisplayState.ManagedWindow):
 | 
			
		||||
 | 
			
		||||
#     def lds_seal_list(self,list):
 | 
			
		||||
#         self.lds_sealing.set_source_reference_list(list)
 | 
			
		||||
#         self.lists_changed = True
 | 
			
		||||
 | 
			
		||||
#     def on_ldsseal_note_clicked(self,obj):
 | 
			
		||||
#         NoteEdit.NoteEditor(self.lds_sealing,self,self.window,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user