Installation Instructions

Installation

  1. Download the LIP package from Github
  2. Install LIP Package through VBA
  3. Insert the two code snippets from GeneralApplicationHandler.txt and GeneralControlsHandler.txt into their respective Class Modules (see below)
  4. Compile VBA
  5. Save VBA
  6. Copy the content of the \actionpads folder into the actionpads folder
  7. Add to _config.js (see below)
  8. Publish Actionpads
  9. Close Lime CRM
  10. Add all the option queries, descriptive expressions and icons through LISA
  11. Change email and phone fields to correct "Types" in LISA. Email and Phone Number respectively.
  12. Create templates (See Configuration)
  13. Start Lime CRM
  14. Create views for both of the new tables and for the tables visible on the helpdesk card

Add to GeneralApplicationHandler (VBA)

Add this sub the GeneralApplicationHandler

Private Sub m_Application_Drop(ByVal Context As Variant, ByVal FileName As String, Cancel As Boolean)
 On Error GoTo ErrorHandler
    Dim oExplorer As Lime.Explorer
    Dim oInspector As Lime.Inspector

    If Not Cancel Then
        If VBA.StrComp(VBA.UCase(LCO.ExtractFileExtension(FileName)), "MSG") = 0 Or VBA.StrComp(VBA.UCase(LCO.ExtractFileExtension(FileName)), "EML") = 0 Then 
            Application.MousePointer = 11
            If TypeOf Context Is Explorer Then
                Set oExplorer = Context

                If Not oExplorer.Class Is Nothing Then
                    Select Case oExplorer.Class.Name
                        Case "helpdesk":

                                Dim sAnswer As String
                                sAnswer = Lime.MessageBox(Localize.GetText("ao_dragndrophelpdesk", "q_create_new_helpdesk"), vbYesNoCancel)
                                If sAnswer = vbYes Then
                                    Call AO_dragndrophelpdesk.DrophelpdeskOutlookMessage(FileName, True)
                                    Cancel = True
                                    Application.MousePointer = 0
                                    Exit Sub
                                ElseIf sAnswer = vbCancel Then
                                    Cancel = True
                                    Application.MousePointer = 0
                                    Exit Sub
                                End If

                    End Select
                End If
            End If

            If TypeOf Context Is Inspector Then
                Set oInspector = Context
            End If

            If TypeOf Context Is Explorer And Not Application.ActiveExplorer.parentinspector Is Nothing Then
                If Application.ActiveExplorer.parentinspector.Class.Name = "helpdesk" Then
                    Set oInspector = Application.ActiveExplorer.parentinspector
                End If
            End If

            If Not oInspector Is Nothing Then
                Select Case oInspector.Class.Name
                    Case "helpdesk":
                        Call AO_dragndrophelpdesk.DrophelpdeskOutlookMessage(FileName, False)
                        Cancel = True
                        Application.MousePointer = 0
                        Exit Sub
                End Select
            End If

            Application.MousePointer = 0
        End If
    End If
    Exit Sub
ErrorHandler:
    Application.MousePointer = 0
    Call LC_UI.ShowError("GeneralApplicationHandler.m_Application_Drop")
End Sub

Add to GeneralControlsHandler (VBA)

Add this line to the top

Private m_ControlsHandlerHelpdesk As ControlsHandlerHelpdesk

Add these lines to the case statement in "m_Application_AfterActiveControlsChanged()"

Case "helpdesk"
    If (oControls.State And lkControlsStateNew) = lkControlsStateNew Then
      Call LC_Globals.AutoRelateAll(oControls)
    End If
    Set m_ControlsHandlerHelpdesk = New ControlsHandlerHelpdesk

Add to _config.js (ActionPads)

Add the following info to the _config.js file in the actionpad folder. This is also supplied in the LIP package @ \actionpads\add to _config.txt

__cofing.js_

'helpdesk' : {
    dataSources: [
    {type: 'activeInspector', source: ''},
    {type: 'localization', source: '' },
    {type: 'relatedRecord', source: 'person', view: 'name;phone;email;mobilephone', alias: 'person'},
    {type: 'relatedRecord', source: 'company', view: 'name;phone', alias: 'company'}
    ],
    autorefresh : false
},